public void Can_get_and_set_body() { request = new CgiRequest(ENV_Simple); request.SetBody("hello world!"); Assert.That(request.Body, Is.EqualTo("hello world!")); }
public void Uri_gets_QueryString_from_QUERY_STRING() { request = new CgiRequest(ENV_Simple); Assert.That(request.QueryString, Is.EqualTo("")); request = new CgiRequest(ENV_with_QueryString); Assert.That(request.QueryString, Is.EqualTo("hi=there")); }
public static void Run(IApplication application) { string requestInput = Console.In.ReadToEnd(); IDictionary variables = Environment.GetEnvironmentVariables(); CgiRequest request = new CgiRequest(variables, requestInput); IResponse response = Application.Invoke(application, request); string output = GetResponseText(response); Console.Write(output); }
public void owin_server_name_gets_set_to_SERVER_NAME() { request = new CgiRequest(ENV_Simple); Assert.That(request.Host, Is.EqualTo("localhost")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary <string, string> { { "SERVER_NAME", "google.com" } })); Assert.That(request.Host, Is.EqualTo("google.com")); }
public void owin_base_path_gets_set_to_SCRIPT_NAME() { request = new CgiRequest(ENV_Simple); Assert.That(request.BasePath, Is.EqualTo("/cgi-runner.cgi")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary <string, string> { { "SCRIPT_NAME", "/hi/there.cgi" } })); Assert.That(request.BasePath, Is.EqualTo("/hi/there.cgi")); }
public void owin_request_protocol_gets_set_to_SERVER_PROTOCOL() { request = new CgiRequest(ENV_Simple); Assert.That(request.Protocol, Is.EqualTo("HTTP/1.1")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary <string, string> { { "SERVER_PROTOCOL", "HTTP/1.0" } })); Assert.That(request.Protocol, Is.EqualTo("HTTP/1.0")); }
public void owin_server_port_gets_set_to_SERVER_PORT() { request = new CgiRequest(ENV_Simple); Assert.That(request.Port, Is.EqualTo(3000)); request = new CgiRequest(GetEnvironmentVariables(new Dictionary <string, string> { { "SERVER_PORT", "1234" } })); Assert.That(request.Port, Is.EqualTo(1234)); }
public void owin_url_scheme_gets_set_using_scheme_seen_in_REQUEST_URI() { request = new CgiRequest(ENV_Simple); Assert.That(request.Scheme, Is.EqualTo("http")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary <string, string> { { "REQUEST_URI", "https://localhost/foo.cgi/" } })); Assert.That(request.Scheme, Is.EqualTo("https")); }
public void owin_remote_endpoint_gets_set_using_REMOTE_ADDR_and_SERVER_PORT() { request = new CgiRequest(ENV_Simple); Assert.That(request.IPEndPoint.ToString(), Is.EqualTo("127.0.0.1:3000")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary <string, string> { { "REMOTE_ADDR", "192.168.0.1" }, { "SERVER_PORT", "443" } })); Assert.That(request.IPEndPoint.ToString(), Is.EqualTo("192.168.0.1:443")); }
public void ContentType_gets_set_by_CONTENT_TYPE_header() { request = new CgiRequest(ENV_Simple); Assert.That(request.ContentType, Is.Null); request = new CgiRequest(GetEnvironmentVariables(new Dictionary <string, string> { { "CONTENT_TYPE", "application/json" } })); Assert.That(request.ContentType, Is.EqualTo("application/json")); }
public void Method_gets_set_using_REQUEST_METHOD() { request = new CgiRequest(ENV_Simple); Assert.That(request.Method, Is.EqualTo("GET")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary <string, string> { { "REQUEST_METHOD", "POST" } })); Assert.That(request.Method, Is.EqualTo("POST")); }
public void x_www_form_urlencoded_POST_variables_are_parsed_properly() { request = new CgiRequest(GetEnvironmentVariables(new Dictionary <string, string> { { "REQUEST_METHOD", "POST" }, { "CONTENT_TYPE", "application/x-www-form-urlencoded" } }), "name=Rover&breed=GoldenRetriever"); Assert.That(request.POST["name"], Is.EqualTo("Rover")); Assert.That(request.POST["breed"], Is.EqualTo("GoldenRetriever")); Assert.That(request.POST["didntPostThis"], Is.Null); }
public void All_environment_variables_become_headers() { request = new CgiRequest(ENV_Simple); Assert.That(request.GetHeader("REMOTE_HOST"), Is.EqualTo("localhost")); Assert.That(request.GetHeader("QUERY_STRING"), Is.EqualTo("")); Assert.That(request.GetHeader("SCRIPT_NAME"), Is.EqualTo("/cgi-runner.cgi")); Assert.That(request.GetHeader("REQUEST_METHOD"), Is.EqualTo("GET")); Assert.That(request.GetHeader("REQUEST_URI"), Is.EqualTo("http://localhost:3000/cgi-runner.cgi/")); Assert.That(request.GetHeader("SERVER_NAME"), Is.EqualTo("localhost")); Assert.That(request.GetHeader("SERVER_PORT"), Is.EqualTo("3000")); Assert.That(request.GetHeader("HTTP_USER_AGENT"), Is.EqualTo("curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18")); }
public void Can_initialize_CgiRequest_with_body_content() { request = new CgiRequest(ENV_Simple, "hi"); Assert.That(request.Body, Is.EqualTo("hi")); }
public void owin_remote_endpoint_gets_set_using_REMOTE_ADDR_and_SERVER_PORT() { request = new CgiRequest(ENV_Simple); Assert.That(request.IPEndPoint.ToString(), Is.EqualTo("127.0.0.1:3000")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary<string, string> { { "REMOTE_ADDR", "192.168.0.1" }, { "SERVER_PORT", "443" } })); Assert.That(request.IPEndPoint.ToString(), Is.EqualTo("192.168.0.1:443")); }
public void owin_base_path_gets_set_to_SCRIPT_NAME() { request = new CgiRequest(ENV_Simple); Assert.That(request.BasePath, Is.EqualTo("/cgi-runner.cgi")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary<string, string> { { "SCRIPT_NAME", "/hi/there.cgi" } })); Assert.That(request.BasePath, Is.EqualTo("/hi/there.cgi")); }
public void owin_server_name_gets_set_to_SERVER_NAME() { request = new CgiRequest(ENV_Simple); Assert.That(request.Host, Is.EqualTo("localhost")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary<string, string> { { "SERVER_NAME", "google.com" } })); Assert.That(request.Host, Is.EqualTo("google.com")); }
public void owin_request_protocol_gets_set_to_SERVER_PROTOCOL() { request = new CgiRequest(ENV_Simple); Assert.That(request.Protocol, Is.EqualTo("HTTP/1.1")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary<string, string> { { "SERVER_PROTOCOL", "HTTP/1.0" } })); Assert.That(request.Protocol, Is.EqualTo("HTTP/1.0")); }
public void owin_url_scheme_gets_set_using_scheme_seen_in_REQUEST_URI() { request = new CgiRequest(ENV_Simple); Assert.That(request.Scheme, Is.EqualTo("http")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary<string, string> { { "REQUEST_URI", "https://localhost/foo.cgi/" } })); Assert.That(request.Scheme, Is.EqualTo("https")); }
public void owin_server_port_gets_set_to_SERVER_PORT() { request = new CgiRequest(ENV_Simple); Assert.That(request.Port, Is.EqualTo(3000)); request = new CgiRequest(GetEnvironmentVariables(new Dictionary<string, string> { { "SERVER_PORT", "1234" } })); Assert.That(request.Port, Is.EqualTo(1234)); }
public void x_www_form_urlencoded_POST_variables_are_parsed_properly() { request = new CgiRequest(GetEnvironmentVariables(new Dictionary<string, string>{ {"REQUEST_METHOD","POST"}, {"CONTENT_TYPE","application/x-www-form-urlencoded"} }), "name=Rover&breed=GoldenRetriever"); Assert.That(request.POST["name"], Is.EqualTo("Rover")); Assert.That(request.POST["breed"], Is.EqualTo("GoldenRetriever")); Assert.That(request.POST["didntPostThis"], Is.Null); }
public void Method_gets_set_using_REQUEST_METHOD() { request = new CgiRequest(ENV_Simple); Assert.That(request.Method, Is.EqualTo("GET")); request = new CgiRequest(GetEnvironmentVariables(new Dictionary<string, string> { { "REQUEST_METHOD", "POST" } })); Assert.That(request.Method, Is.EqualTo("POST")); }
public void Uri_includes_query_strings_from_QUERY_STRING() { request = new CgiRequest(ENV_with_QueryString); Assert.That(request.Uri, Is.EqualTo("/foo/bar?hi=there")); }
public void ContentType_gets_set_by_CONTENT_TYPE_header() { request = new CgiRequest(ENV_Simple); Assert.That(request.ContentType, Is.Null); request = new CgiRequest(GetEnvironmentVariables(new Dictionary<string, string> { { "CONTENT_TYPE", "application/json" } })); Assert.That(request.ContentType, Is.EqualTo("application/json")); }
public void Uri_gets_set_using_PATH_INFO() { request = new CgiRequest(ENV_Simple); Assert.That(request.Uri, Is.EqualTo("/")); }
public void Before() { request = null; }