go :-
	( getenv('REQUEST_METHOD', Method) ->
	    ( Method == "POST" ->
		( getenv('CONTENT_LENGTH', ContentLengthString) ->
		    ( number_string(ContentLength, ContentLengthString),
			( read_string("", ContentLength, String) ->
			    Message = "Ok"
			;
			    Message = "Standard input empty"
			)
		    ;
			Message = "CONTENT_LENGTH does not contain a number"
		    )
		;
		    Message = "Environment variable CONTENT_LENGTH not set"
		)
	    ; Method == "GET" ->
		( getenv('QUERY_STRING', String) ->
		    Message = "Ok"
		;
		    Message = "QUERY_STRING empty",
		    String=""
		)
	    ;
		concat_string("Illegal method: ", Method, Message)
	    )
	;
	    Message = "Environment variable REQUEST_METHOD not set"
	),

	writeln("Content-type: text/html\n\n "),
	writeln("<HTML><HEAD><TITLE>ECLiPSe Output</TITLE></HEAD>"),
	writeln("<H1>ECLiPSe Output</H1>"),
	writeln("<BODY>"),
	( Message = "Ok" ->
	    printf("Data = %q%n", String)
	;
	    printf("Problem: %s%n", Message)
	),
	writeln("</PRE>"),
	writeln("</BODY></HTML>").

