(List (FunctionDef http::parse_request [] (List (Com {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS read]} {[LIT_CHARS req_line]}) (= scope= flags=0 words=[] bindings=[('req_line', {[Array {[VarSub req_line]}]})]) (= scope= flags=1 words=[] bindings=[('REQUEST_METHOD', {[VarSub req_line bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]})]) (= scope= flags=1 words=[] bindings=[('REQUEST_URI', {[VarSub req_line bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}})]})]) (= scope= flags=1 words=[] bindings=[('REQUEST_PATH', {[VarSub REQUEST_URI transform_ops=[VS_UNARY_DPERCENT {[\ LIT_ESCAPED_CHAR "\\?"] [LIT_CHARS "*"]}]]})]) (= scope= flags=1 words=[] bindings=[('QUERY_STRING', {[VarSub REQUEST_URI transform_ops=[VS_UNARY_POUND {[LIT_CHARS "*"] [\ LIT_ESCAPED_CHAR "\\?"]}]]})]) (= scope= flags=1 words=[] bindings=[('HTTP_VERSION', {[VarSub req_line bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}})]})]) (= scope= flags=1 words=[] bindings=[('SERVER_SOFTWARE', {[DQ [LIT_CHARS balls/0.0]]})]) (= scope= flags=0 words=[{[LIT_CHARS -A]}, {[LIT_CHARS HEADERS]}] bindings=[]) (= scope= flags=0 words=[{[LIT_CHARS key]}] bindings=[]) (= scope= flags=0 words=[{[LIT_CHARS val]}] bindings=[]) (While (Com {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS read]} {[LIT_CHARS HEADER_LINE]}) (List (= scope= flags=0 words=[] bindings=[('key', {[DQ [VarSub HEADER_LINE transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS "*( ):*"]}]]]})]) (Com {[LIT_CHARS trim]} {[LIT_CHARS key]}) (= scope= flags=0 words=[] bindings=[('val', {[DQ [VarSub HEADER_LINE transform_ops=[VS_UNARY_POUND {[LIT_CHARS "*:*( )"]}]]]})]) (Com {[LIT_CHARS trim]} {[LIT_CHARS val]}) (Com {[LIT_CHARS HEADERS] [LIT_OTHER "["] [DQ [VarSub key]] [LIT_OTHER "]"] [LIT_OTHER "="] [DQ [VarSub val]]}) ) ) ) ) (FunctionDef http::read [] (List (= scope= flags=0 words=[] bindings=[('__var', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS read]} {[LIT_CHARS __in]}) (= scope= flags=0 words=[] bindings=[('RETVAL', {[VarSub ?]})]) (= scope= flags=0 words=[] bindings=[('__in', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub __in]]}) (Com {[LIT_CHARS tr]} {[LIT_CHARS -d]} {[SQ ]}) )]})]) (= scope= flags=1 words=[{[DQ [VarSub __var]] [LIT_OTHER "="] [DQ [VarSub __in]]}] bindings=[]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub RETVAL]]} {[LIT_OTHER "="]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub __var transform_ops=[(!ref)]]]} {[LIT_OTHER "]"]}) ) ) ) (= scope= flags=0 words=[{[LIT_CHARS -a]}, {[LIT_CHARS HTTP_STATUSES]}] bindings=[]) (Com {[LIT_CHARS HTTP_STATUSES] [LIT_OTHER "["] [LIT_CHARS 200] [LIT_OTHER "]"] [LIT_OTHER "="] [SQ ]}) (Com {[LIT_CHARS HTTP_STATUSES] [LIT_OTHER "["] [LIT_CHARS 404] [LIT_OTHER "]"] [LIT_OTHER "="] [SQ ]}) (Com {[LIT_CHARS HTTP_STATUSES] [LIT_OTHER "["] [LIT_CHARS 500] [LIT_OTHER "]"] [LIT_OTHER "="] [SQ ]}) (FunctionDef http::status [] (List (= scope= flags=0 words=[] bindings=[('code', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('message', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub message]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('message', {[VarSub HTTP_STATUSES bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub code]}})]})]) ) (Com {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS header_echo]} {[DQ [VarSub HTTP_VERSION][LIT_CHARS " "][VarSub code][LIT_CHARS " "][VarSub message]]}) ) ) (FunctionDef http::header [] (List (= scope= flags=0 words=[] bindings=[('header_name', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('header_val', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS header_echo]} {[DQ [VarSub header_name][LIT_CHARS ": "][VarSub header_val]]}) ) ) (FunctionDef http::header_echo [] (Com {[LIT_CHARS echo]} {[DQ [VarSub @]]} < (DescriptorRedirectNode target={[LIT_CHARS 3]} &"> 1), > ) ) (FunctionDef http::content_type [] (Com {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS header]} {[SQ ]} {[DQ [VarSub @]]}) ) )