From 8085529f48dd3a19baf5a4218d462e0afcfedbf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sat, 19 Mar 2011 23:57:23 +0100 Subject: Save the raw host string in the request. --- include/http.hrl | 4 ++-- src/cowboy_http_protocol.erl | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/http.hrl b/include/http.hrl index e66947d..cff3e67 100644 --- a/include/http.hrl +++ b/include/http.hrl @@ -19,8 +19,8 @@ method = 'GET' :: http_method(), version = {1, 1} :: http_version(), peer = undefined :: undefined | {Address::ip_address(), Port::port_number()}, - host = undefined :: undefined | path_tokens(), %% todo - raw_host = undefined :: undefined | string(), %% todo + host = undefined :: undefined | path_tokens(), + raw_host = undefined :: undefined | string(), path = undefined :: undefined | path_tokens(), %% todo raw_path = undefined :: undefined | string(), %% todo qs_vals = undefined :: undefined | bindings(), %% todo diff --git a/src/cowboy_http_protocol.erl b/src/cowboy_http_protocol.erl index e2a2250..0c7c2c7 100644 --- a/src/cowboy_http_protocol.erl +++ b/src/cowboy_http_protocol.erl @@ -101,7 +101,8 @@ header({http_header, _I, 'Host', _R, Value}, Req=#http_req{path=Path, %% things like url rewriting. case cowboy_dispatcher:match(Host, Path, Dispatch) of {ok, Handler, Opts, Binds} -> - wait_header(Req#http_req{host=Host, bindings=Binds, + wait_header(Req#http_req{ + host=Host, raw_host=Value2, bindings=Binds, headers=[{'Host', Value2}|Req#http_req.headers]}, State#state{handler={Handler, Opts}}); {error, notfound, host} -> -- cgit v1.2.3