From 73284575d4575520c6438d44d0f7cf8c62627d95 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Wed, 27 Jul 2011 17:34:53 +0200 Subject: [PATCH] Added an implementation folder in ewsgi_spec, mainly to provide default implementation just to save the developer of connector some time. changed structured --- .../server/ewsgi/connectors/cgi/cgi-safe.ecf | 3 +- library/server/ewsgi/connectors/cgi/cgi.ecf | 3 +- .../connectors/cgi/src/gw_cgi_connector.e | 4 +- .../connectors/cgi/src/gw_cgi_input_stream.e | 2 +- .../connectors/cgi/src/gw_cgi_output_stream.e | 27 +++++++- .../ewsgi/connectors/libfcgi/libfcgi-safe.ecf | 3 +- .../ewsgi/connectors/libfcgi/libfcgi.ecf | 5 +- .../libfcgi/src/gw_libfcgi_connector.e | 8 +-- .../libfcgi/src/gw_libfcgi_input_stream.e | 2 +- .../libfcgi/src/gw_libfcgi_output_stream.e | 27 +++++++- .../ewsgi/connectors/nino/nino-safe.ecf | 6 +- library/server/ewsgi/connectors/nino/nino.ecf | 8 ++- .../connectors/nino/src/gw_nino_connector.e | 6 +- .../nino/src/gw_nino_input_stream.e | 4 +- .../nino/src/gw_nino_output_stream.e | 29 +++++++- library/server/ewsgi/ewsgi-full.ecf | 7 +- library/server/ewsgi/ewsgi.ecf | 4 +- .../server/ewsgi/ewsgi_specification-safe.ecf | 2 - library/server/ewsgi/ewsgi_specification.ecf | 2 - .../ewsgi/examples/hello_world/hello-safe.ecf | 1 + .../examples/hello_world/src/hello_world.e | 2 +- .../specification/ewsgi_agent_application.e | 66 +++++++++++++++++++ .../ewsgi_environment_variables.e} | 4 +- .../stream/ewsgi_output_stream.e | 21 +----- .../gw_agent_application.e | 2 +- .../gw_application_imp.e | 0 .../gw_in_memory_response_application.e | 0 .../gw_request_imp.e | 0 .../gw_in_memory_response.e | 0 .../server/ewsgi/src/{ => support}/gw_error.e | 0 .../src/{response => support}/gw_header.e | 0 31 files changed, 190 insertions(+), 58 deletions(-) create mode 100644 library/server/ewsgi/specification/ewsgi_agent_application.e rename library/server/ewsgi/{src/request/gw_environment_variables.e => specification/implementation/ewsgi_environment_variables.e} (98%) rename library/server/ewsgi/src/{implementation => application}/gw_agent_application.e (93%) rename library/server/ewsgi/src/{implementation => application}/gw_application_imp.e (100%) rename library/server/ewsgi/src/{implementation/in_memory => application}/gw_in_memory_response_application.e (100%) rename library/server/ewsgi/src/{implementation => request}/gw_request_imp.e (100%) rename library/server/ewsgi/src/{implementation/in_memory => response}/gw_in_memory_response.e (100%) rename library/server/ewsgi/src/{ => support}/gw_error.e (100%) rename library/server/ewsgi/src/{response => support}/gw_header.e (100%) diff --git a/library/server/ewsgi/connectors/cgi/cgi-safe.ecf b/library/server/ewsgi/connectors/cgi/cgi-safe.ecf index a1900388..af6c0537 100644 --- a/library/server/ewsgi/connectors/cgi/cgi-safe.ecf +++ b/library/server/ewsgi/connectors/cgi/cgi-safe.ecf @@ -10,7 +10,8 @@ - + + diff --git a/library/server/ewsgi/connectors/cgi/cgi.ecf b/library/server/ewsgi/connectors/cgi/cgi.ecf index 412abe6b..c5039dd5 100644 --- a/library/server/ewsgi/connectors/cgi/cgi.ecf +++ b/library/server/ewsgi/connectors/cgi/cgi.ecf @@ -10,7 +10,8 @@ - + + diff --git a/library/server/ewsgi/connectors/cgi/src/gw_cgi_connector.e b/library/server/ewsgi/connectors/cgi/src/gw_cgi_connector.e index 9d85012b..d4768af1 100644 --- a/library/server/ewsgi/connectors/cgi/src/gw_cgi_connector.e +++ b/library/server/ewsgi/connectors/cgi/src/gw_cgi_connector.e @@ -8,7 +8,7 @@ class GW_CGI_CONNECTOR inherit - GW_CONNECTOR + EWSGI_CONNECTOR create make @@ -17,7 +17,7 @@ feature -- Execution launch local - env: GW_ENVIRONMENT_VARIABLES + env: EWSGI_ENVIRONMENT_VARIABLES do create env.make_with_variables ((create {EXECUTION_ENVIRONMENT}).starting_environment_variables) application.process (env, create {GW_CGI_INPUT_STREAM}.make, create {GW_CGI_OUTPUT_STREAM}.make) diff --git a/library/server/ewsgi/connectors/cgi/src/gw_cgi_input_stream.e b/library/server/ewsgi/connectors/cgi/src/gw_cgi_input_stream.e index 0a49425d..0351cde3 100644 --- a/library/server/ewsgi/connectors/cgi/src/gw_cgi_input_stream.e +++ b/library/server/ewsgi/connectors/cgi/src/gw_cgi_input_stream.e @@ -9,7 +9,7 @@ class GW_CGI_INPUT_STREAM inherit - GW_INPUT_STREAM + EWSGI_INPUT_STREAM CONSOLE rename diff --git a/library/server/ewsgi/connectors/cgi/src/gw_cgi_output_stream.e b/library/server/ewsgi/connectors/cgi/src/gw_cgi_output_stream.e index 072caa99..b506736f 100644 --- a/library/server/ewsgi/connectors/cgi/src/gw_cgi_output_stream.e +++ b/library/server/ewsgi/connectors/cgi/src/gw_cgi_output_stream.e @@ -9,7 +9,7 @@ class GW_CGI_OUTPUT_STREAM inherit - GW_OUTPUT_STREAM + EWSGI_OUTPUT_STREAM undefine flush end @@ -19,6 +19,11 @@ inherit make as console_make end + HTTP_STATUS_CODE_MESSAGES + export + {NONE} all + end + create make @@ -29,6 +34,26 @@ feature {NONE} -- Initialization make_open_stdout ("stdout") end +feature -- Status writing + + put_status_line (a_code: INTEGER) + -- Put status code line for `a_code' + --| Note this is a default implementation, and could be redefined + --| for instance in relation to NPH CGI script + local + s: STRING + do + create s.make (16) + s.append ({HTTP_CONSTANTS}.http_version_1_1) + s.append_character (' ') + s.append_integer (a_code) + if attached http_status_code_message (a_code) as l_status_message then + s.append_character (' ') + s.append_string (l_status_message) + end + put_header_line (s) + end + note copyright: "2011-2011, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" diff --git a/library/server/ewsgi/connectors/libfcgi/libfcgi-safe.ecf b/library/server/ewsgi/connectors/libfcgi/libfcgi-safe.ecf index d02b81dd..e4e72c59 100644 --- a/library/server/ewsgi/connectors/libfcgi/libfcgi-safe.ecf +++ b/library/server/ewsgi/connectors/libfcgi/libfcgi-safe.ecf @@ -10,8 +10,9 @@ - + + diff --git a/library/server/ewsgi/connectors/libfcgi/libfcgi.ecf b/library/server/ewsgi/connectors/libfcgi/libfcgi.ecf index 3eb715f7..247e480f 100644 --- a/library/server/ewsgi/connectors/libfcgi/libfcgi.ecf +++ b/library/server/ewsgi/connectors/libfcgi/libfcgi.ecf @@ -10,8 +10,9 @@ - - + + + diff --git a/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_connector.e b/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_connector.e index aa2a8a52..401b2794 100644 --- a/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_connector.e +++ b/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_connector.e @@ -9,7 +9,7 @@ class GW_LIBFCGI_CONNECTOR inherit - GW_CONNECTOR + EWSGI_CONNECTOR redefine initialize end @@ -46,7 +46,7 @@ feature -- Execution process_fcgi_request (vars: HASH_TABLE [STRING, STRING]; a_input: like input; a_output: like output) local - gw_env: GW_ENVIRONMENT_VARIABLES + gw_env: EWSGI_ENVIRONMENT_VARIABLES do create gw_env.make_with_variables (vars) application.process (gw_env, a_input, a_output) @@ -54,10 +54,10 @@ feature -- Execution feature -- Input/Output - input: GW_INPUT_STREAM + input: EWSGI_INPUT_STREAM -- Input from client (from httpd server via FCGI) - output: GW_OUTPUT_STREAM + output: EWSGI_OUTPUT_STREAM -- Output to client (via httpd server/fcgi) feature {NONE} -- Implementation diff --git a/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_input_stream.e b/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_input_stream.e index 5f757c0a..918b28c6 100644 --- a/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_input_stream.e +++ b/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_input_stream.e @@ -9,7 +9,7 @@ class GW_LIBFCGI_INPUT_STREAM inherit - GW_INPUT_STREAM + EWSGI_INPUT_STREAM STRING_HANDLER diff --git a/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_output_stream.e b/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_output_stream.e index a26b4b18..2b9b4a0e 100644 --- a/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_output_stream.e +++ b/library/server/ewsgi/connectors/libfcgi/src/gw_libfcgi_output_stream.e @@ -9,7 +9,12 @@ class GW_LIBFCGI_OUTPUT_STREAM inherit - GW_OUTPUT_STREAM + EWSGI_OUTPUT_STREAM + + HTTP_STATUS_CODE_MESSAGES + export + {NONE} all + end create make @@ -23,6 +28,26 @@ feature {NONE} -- Initialization fcgi := a_fcgi end +feature -- Status writing + + put_status_line (a_code: INTEGER) + -- Put status code line for `a_code' + --| Note this is a default implementation, and could be redefined + --| for instance in relation to NPH CGI script + local + s: STRING + do + create s.make (16) + s.append ({HTTP_CONSTANTS}.http_version_1_1) + s.append_character (' ') + s.append_integer (a_code) + if attached http_status_code_message (a_code) as l_status_message then + s.append_character (' ') + s.append_string (l_status_message) + end + put_header_line (s) + end + feature -- Basic operation put_string (s: STRING) diff --git a/library/server/ewsgi/connectors/nino/nino-safe.ecf b/library/server/ewsgi/connectors/nino/nino-safe.ecf index 1b3cbefb..633e055f 100644 --- a/library/server/ewsgi/connectors/nino/nino-safe.ecf +++ b/library/server/ewsgi/connectors/nino/nino-safe.ecf @@ -10,8 +10,12 @@ + - + + + + diff --git a/library/server/ewsgi/connectors/nino/nino.ecf b/library/server/ewsgi/connectors/nino/nino.ecf index 97a1099a..2b6d9204 100644 --- a/library/server/ewsgi/connectors/nino/nino.ecf +++ b/library/server/ewsgi/connectors/nino/nino.ecf @@ -10,8 +10,12 @@ - - + + + + + + diff --git a/library/server/ewsgi/connectors/nino/src/gw_nino_connector.e b/library/server/ewsgi/connectors/nino/src/gw_nino_connector.e index 3d7ea435..010ba4a2 100644 --- a/library/server/ewsgi/connectors/nino/src/gw_nino_connector.e +++ b/library/server/ewsgi/connectors/nino/src/gw_nino_connector.e @@ -8,7 +8,7 @@ class GW_NINO_CONNECTOR inherit - GW_CONNECTOR + EWSGI_CONNECTOR redefine initialize end @@ -62,7 +62,7 @@ feature -- Server local l_http_handler : HTTP_HANDLER do - create {GW_NINO_HANDLER} l_http_handler.make_with_callback (server, "GW_NINO_HANDLER", Current) + create {GW_NINO_HANDLER} l_http_handler.make_with_callback (server, "NINO_HANDLER", Current) debug ("nino") if attached base as l_base then print ("Base=" + l_base + "%N") @@ -73,7 +73,7 @@ feature -- Server process_request (env: HASH_TABLE [STRING, STRING]; a_headers_text: STRING; a_input: HTTP_INPUT_STREAM; a_output: HTTP_OUTPUT_STREAM) local - gw_env: GW_ENVIRONMENT_VARIABLES + gw_env: EWSGI_ENVIRONMENT_VARIABLES do create gw_env.make_with_variables (env) gw_env.set_variable ("RAW_HEADER_DATA", a_headers_text) diff --git a/library/server/ewsgi/connectors/nino/src/gw_nino_input_stream.e b/library/server/ewsgi/connectors/nino/src/gw_nino_input_stream.e index 8a02f0d3..c44723f1 100644 --- a/library/server/ewsgi/connectors/nino/src/gw_nino_input_stream.e +++ b/library/server/ewsgi/connectors/nino/src/gw_nino_input_stream.e @@ -9,7 +9,7 @@ class GW_NINO_INPUT_STREAM inherit - GW_INPUT_STREAM + EWSGI_INPUT_STREAM create make @@ -22,7 +22,7 @@ feature {NONE} -- Initialization set_nino_input (a_nino_input) end -feature {GW_NINO_CONNECTOR, GW_APPLICATION} -- Nino +feature {GW_NINO_CONNECTOR, EWSGI_APPLICATION} -- Nino set_nino_input (i: like nino_input) do diff --git a/library/server/ewsgi/connectors/nino/src/gw_nino_output_stream.e b/library/server/ewsgi/connectors/nino/src/gw_nino_output_stream.e index 045d07ce..792e3db5 100644 --- a/library/server/ewsgi/connectors/nino/src/gw_nino_output_stream.e +++ b/library/server/ewsgi/connectors/nino/src/gw_nino_output_stream.e @@ -9,7 +9,12 @@ class GW_NINO_OUTPUT_STREAM inherit - GW_OUTPUT_STREAM + EWSGI_OUTPUT_STREAM + + HTTP_STATUS_CODE_MESSAGES + export + {NONE} all + end create make @@ -21,7 +26,7 @@ feature {NONE} -- Initialization set_nino_output (a_nino_output) end -feature {GW_NINO_CONNECTOR, GW_APPLICATION} -- Nino +feature {GW_NINO_CONNECTOR, EWSGI_APPLICATION} -- Nino set_nino_output (o: like nino_output) do @@ -30,6 +35,26 @@ feature {GW_NINO_CONNECTOR, GW_APPLICATION} -- Nino nino_output: HTTP_OUTPUT_STREAM +feature -- Status writing + + put_status_line (a_code: INTEGER) + -- Put status code line for `a_code' + --| Note this is a default implementation, and could be redefined + --| for instance in relation to NPH CGI script + local + s: STRING + do + create s.make (16) + s.append ({HTTP_CONSTANTS}.http_version_1_1) + s.append_character (' ') + s.append_integer (a_code) + if attached http_status_code_message (a_code) as l_status_message then + s.append_character (' ') + s.append_string (l_status_message) + end + put_header_line (s) + end + feature -- Basic operation put_string (s: STRING_8) diff --git a/library/server/ewsgi/ewsgi-full.ecf b/library/server/ewsgi/ewsgi-full.ecf index 72ab05f3..cab454ea 100644 --- a/library/server/ewsgi/ewsgi-full.ecf +++ b/library/server/ewsgi/ewsgi-full.ecf @@ -1,6 +1,6 @@ - - + + /EIFGENs$ @@ -10,9 +10,10 @@ + - + diff --git a/library/server/ewsgi/ewsgi.ecf b/library/server/ewsgi/ewsgi.ecf index ab38f6a7..bde71ac5 100644 --- a/library/server/ewsgi/ewsgi.ecf +++ b/library/server/ewsgi/ewsgi.ecf @@ -12,9 +12,9 @@ - + - + diff --git a/library/server/ewsgi/ewsgi_specification-safe.ecf b/library/server/ewsgi/ewsgi_specification-safe.ecf index 6df5cf06..b66cd0e8 100644 --- a/library/server/ewsgi/ewsgi_specification-safe.ecf +++ b/library/server/ewsgi/ewsgi_specification-safe.ecf @@ -11,8 +11,6 @@ - - diff --git a/library/server/ewsgi/ewsgi_specification.ecf b/library/server/ewsgi/ewsgi_specification.ecf index 5c9dc7dc..b0721d07 100644 --- a/library/server/ewsgi/ewsgi_specification.ecf +++ b/library/server/ewsgi/ewsgi_specification.ecf @@ -11,8 +11,6 @@ - - diff --git a/library/server/ewsgi/examples/hello_world/hello-safe.ecf b/library/server/ewsgi/examples/hello_world/hello-safe.ecf index 76cdb452..753af7c2 100644 --- a/library/server/ewsgi/examples/hello_world/hello-safe.ecf +++ b/library/server/ewsgi/examples/hello_world/hello-safe.ecf @@ -12,6 +12,7 @@ + diff --git a/library/server/ewsgi/examples/hello_world/src/hello_world.e b/library/server/ewsgi/examples/hello_world/src/hello_world.e index 591a1075..d920c7de 100644 --- a/library/server/ewsgi/examples/hello_world/src/hello_world.e +++ b/library/server/ewsgi/examples/hello_world/src/hello_world.e @@ -18,7 +18,7 @@ feature {NONE} -- Initialization (create {GW_NINO_APPLICATION}.make_custom (agent execute, "")).listen (port_number) end - execute (req: GW_REQUEST; res: GW_RESPONSE) + execute (req: EWSGI_REQUEST; res: EWSGI_RESPONSE) do res.write_header (200, <<["Content-Type", "text/plain"]>>) res.write_string ("Hello World!%N") diff --git a/library/server/ewsgi/specification/ewsgi_agent_application.e b/library/server/ewsgi/specification/ewsgi_agent_application.e new file mode 100644 index 00000000..58f45846 --- /dev/null +++ b/library/server/ewsgi/specification/ewsgi_agent_application.e @@ -0,0 +1,66 @@ +note + description: "Summary description for {EWSGI_AGENT_APPLICATION}." + author: "" + date: "$Date$" + revision: "$Revision$" + +class + EWSGI_AGENT_APPLICATION + +inherit + EWSGI_APPLICATION + +create + make + +feature {NONE} -- Implementation + + make (a_callback: like callback; a_request_creator: like request_creator; a_response_creator: like response_creator) + -- Initialize `Current'. + do + callback := a_callback + request_creator := a_request_creator + response_creator := a_response_creator + end + +feature {NONE} -- Implementation + + request_creator: FUNCTION [ANY, TUPLE [env: EWSGI_ENVIRONMENT; input: EWSGI_INPUT_STREAM], EWSGI_REQUEST] + + response_creator: FUNCTION [ANY, TUPLE [req: EWSGI_REQUEST; output: EWSGI_OUTPUT_STREAM], EWSGI_RESPONSE] + + callback: PROCEDURE [ANY, TUPLE [req: like new_request; res: like new_response]] + -- Procedure called on `execute' + + execute (req: like new_request; res: like new_response) + -- Execute the request + do + callback.call ([req, res]) + end + +feature -- Factory + + new_request (env: EWSGI_ENVIRONMENT; a_input: EWSGI_INPUT_STREAM): EWSGI_REQUEST + do + Result := request_creator.item ([env, a_input]) + end + + new_response (req: EWSGI_REQUEST; a_output: EWSGI_OUTPUT_STREAM): EWSGI_RESPONSE + do + Result := response_creator.item ([req, a_output]) + end + +invariant + callback_attached: callback /= Void + +note + copyright: "2011-2011, Eiffel Software and others" + license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" + source: "[ + Eiffel Software + 5949 Hollister Ave., Goleta, CA 93117 USA + Telephone 805-685-1006, Fax 805-685-6869 + Website http://www.eiffel.com + Customer support http://support.eiffel.com + ]" +end diff --git a/library/server/ewsgi/src/request/gw_environment_variables.e b/library/server/ewsgi/specification/implementation/ewsgi_environment_variables.e similarity index 98% rename from library/server/ewsgi/src/request/gw_environment_variables.e rename to library/server/ewsgi/specification/implementation/ewsgi_environment_variables.e index 54ca05d7..bdb7cdf1 100644 --- a/library/server/ewsgi/src/request/gw_environment_variables.e +++ b/library/server/ewsgi/specification/implementation/ewsgi_environment_variables.e @@ -1,12 +1,12 @@ note - description: "Summary description for {GW_ENVIRONMENT_VARIABLES}." + description: "Summary description for {EWSGI_ENVIRONMENT_VARIABLES}." legal: "See notice at end of class." status: "See notice at end of class." date: "$Date$" revision: "$Revision$" class - GW_ENVIRONMENT_VARIABLES + EWSGI_ENVIRONMENT_VARIABLES inherit EWSGI_ENVIRONMENT diff --git a/library/server/ewsgi/specification/stream/ewsgi_output_stream.e b/library/server/ewsgi/specification/stream/ewsgi_output_stream.e index f106c7ae..1f7c6fce 100644 --- a/library/server/ewsgi/specification/stream/ewsgi_output_stream.e +++ b/library/server/ewsgi/specification/stream/ewsgi_output_stream.e @@ -10,14 +10,6 @@ note deferred class EWSGI_OUTPUT_STREAM -inherit - ANY - - HTTP_STATUS_CODE_MESSAGES - export - {NONE} all - end - feature -- Core operation put_string (s: STRING_8) @@ -38,18 +30,7 @@ feature -- Status writing -- Put status code line for `a_code' --| Note this is a default implementation, and could be redefined --| for instance in relation to NPH CGI script - local - s: STRING - do - create s.make (16) - s.append ({HTTP_CONSTANTS}.http_version_1_1) - s.append_character (' ') - s.append_integer (a_code) - if attached http_status_code_message (a_code) as l_status_message then - s.append_character (' ') - s.append_string (l_status_message) - end - put_header_line (s) + deferred end feature -- Basic operation diff --git a/library/server/ewsgi/src/implementation/gw_agent_application.e b/library/server/ewsgi/src/application/gw_agent_application.e similarity index 93% rename from library/server/ewsgi/src/implementation/gw_agent_application.e rename to library/server/ewsgi/src/application/gw_agent_application.e index 4f8a9c0d..ec796f65 100644 --- a/library/server/ewsgi/src/implementation/gw_agent_application.e +++ b/library/server/ewsgi/src/application/gw_agent_application.e @@ -1,5 +1,5 @@ note - description: "Summary description for {GW_AGENT_APPLICATION}." + description: "Summary description for {EWSGI_AGENT_APPLICATION}." author: "" date: "$Date$" revision: "$Revision$" diff --git a/library/server/ewsgi/src/implementation/gw_application_imp.e b/library/server/ewsgi/src/application/gw_application_imp.e similarity index 100% rename from library/server/ewsgi/src/implementation/gw_application_imp.e rename to library/server/ewsgi/src/application/gw_application_imp.e diff --git a/library/server/ewsgi/src/implementation/in_memory/gw_in_memory_response_application.e b/library/server/ewsgi/src/application/gw_in_memory_response_application.e similarity index 100% rename from library/server/ewsgi/src/implementation/in_memory/gw_in_memory_response_application.e rename to library/server/ewsgi/src/application/gw_in_memory_response_application.e diff --git a/library/server/ewsgi/src/implementation/gw_request_imp.e b/library/server/ewsgi/src/request/gw_request_imp.e similarity index 100% rename from library/server/ewsgi/src/implementation/gw_request_imp.e rename to library/server/ewsgi/src/request/gw_request_imp.e diff --git a/library/server/ewsgi/src/implementation/in_memory/gw_in_memory_response.e b/library/server/ewsgi/src/response/gw_in_memory_response.e similarity index 100% rename from library/server/ewsgi/src/implementation/in_memory/gw_in_memory_response.e rename to library/server/ewsgi/src/response/gw_in_memory_response.e diff --git a/library/server/ewsgi/src/gw_error.e b/library/server/ewsgi/src/support/gw_error.e similarity index 100% rename from library/server/ewsgi/src/gw_error.e rename to library/server/ewsgi/src/support/gw_error.e diff --git a/library/server/ewsgi/src/response/gw_header.e b/library/server/ewsgi/src/support/gw_header.e similarity index 100% rename from library/server/ewsgi/src/response/gw_header.e rename to library/server/ewsgi/src/support/gw_header.e