diff options
author | Eric Wong <normalperson@yhbt.net> | 2009-09-01 19:31:30 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2009-09-01 19:31:30 -0700 |
commit | 40fcf09b1c2fdd87be199bc7b68a28ae538fae3f (patch) | |
tree | d5d024459b9ad7a39caa8e5e6c3d9f95518b575d /ext | |
parent | d48ab6552b42fcdd70de1c6acd09312461edf705 (diff) | |
download | unicorn-40fcf09b1c2fdd87be199bc7b68a28ae538fae3f.tar.gz |
HTTP/0.9 only supports GET requests and didn't require a version number in the request line. Additionally, only a single CRLF was required. Note: we don't correctly generate HTTP/0.9 responses, yet.
Diffstat (limited to 'ext')
-rw-r--r-- | ext/unicorn_http/unicorn_http_common.rl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/unicorn_http/unicorn_http_common.rl b/ext/unicorn_http/unicorn_http_common.rl index bb2a3ef..5d46087 100644 --- a/ext/unicorn_http/unicorn_http_common.rl +++ b/ext/unicorn_http/unicorn_http_common.rl @@ -41,6 +41,7 @@ Request_URI = ((absolute_path | "*") >mark %request_uri) | Absolute_URI; Fragment = ( uchar | reserved )* >mark %fragment; Method = (token){1,20} >mark %request_method; + GetOnly = "GET" >mark %request_method; http_number = ( digit+ "." digit+ ) ; HTTP_Version = ( "HTTP/" http_number ) >mark %http_version ; @@ -65,8 +66,9 @@ ChunkedBody := chunk* last_chunk @end_chunked_body; Trailers := (message_header)* CRLF @end_trailers; - Request = Request_Line (message_header)* CRLF @header_done; + FullRequest = Request_Line (message_header)* CRLF @header_done; + SimpleRequest = GetOnly " " Request_URI ("#"Fragment){0,1} CRLF @header_done; -main := Request; +main := FullRequest | SimpleRequest; }%% |