(command.CommandList children: [ (C {<.>} {<'./martin.sh'>}) (command.CommandList children: [ (command.Sentence child:(C {<get>} {(DQ <'/'>)} {<root>}) terminator:<Id.Op_Semi _>) (command.ShFunction name: root body: (BraceGroup children: [ (C {<header>} {(DQ <Content-Type>)} {(DQ <'text/html; charset=utf-8'>)}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOT>} here_end_span_id: 76 stdin_parts: [ <'<!DOCTYPE html>\n'> <'<html>\n'> <' <head>\n'> <' <meta charset='> <Id.Right_DoubleQuote '"'> <utf-8> <Id.Right_DoubleQuote '"'> <'>\n'> <' <title>hello world from '> ($ Id.VSub_DollarName '$PATH_INFO') <'</title>\n'> <' </head>\n'> <' <body>\n'> <' <img src='> <Id.Right_DoubleQuote '"'> <'/DeanMartin.jpg'> <Id.Right_DoubleQuote '"'> <'>\n'> <' <h1>hello world from '> ($ Id.VSub_DollarName '$PATH_INFO') <'</h1>\n'> <' <a href='> <Id.Right_DoubleQuote '"'> <'/ps'> <Id.Right_DoubleQuote '"'> <'>processes</a>\n'> <' <a href='> <Id.Right_DoubleQuote '"'> <'/redirect'> <Id.Right_DoubleQuote '"'> <'>redirect</a>\n'> <' </body>\n'> <'</html>\n'> ] ) ) ] do_fork: T ) ] ) ) ] ) (command.CommandList children: [ (command.Sentence child: (C {<get>} {(DQ <'/ps'>)} {<ps_handler>}) terminator: <Id.Op_Semi _> ) (command.ShFunction name: ps_handler body: (BraceGroup children: [(C {<header>} {(DQ <Content-Type>)} {(DQ <'text/plain'>)}) (C {<ps>})] ) ) ] ) (command.CommandList children: [ (command.Sentence child: (C {<get>} {(DQ <'/DeanMartin.jpg'>)} {<dean_handler>}) terminator: <Id.Op_Semi _> ) (command.ShFunction name: dean_handler body: (BraceGroup children: [ (C {<header>} {(DQ <Content-Type>)} {(DQ <'image/jpeg'>)}) (C {<cat>} {(DQ <DeanMartin.jpg>)}) ] ) ) ] ) (command.CommandList children: [ (command.Sentence child: (C {<get>} {(DQ <'/redirect'>)} {<redirect_handler>}) terminator: <Id.Op_Semi _> ) (command.ShFunction name: redirect_handler body: (BraceGroup children: [ (C {<status>} {<302>}) (C {<header>} {(DQ <Location>)} {(DQ <'http://jackjs.org/'>)}) ] ) ) ] ) (C {<martin>} {($ Id.VSub_DollarName '$PORT')}) ] )