0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Add function cowboy_http_req:compact/1 to regain memory.

It removes all the non-essential data from the HTTP request record.
It allows some applications to make better use of their memory,
for example websockets which do not need to keep all the headers
information and can simply discard it using this function.
This commit is contained in:
Loïc Hoguin 2011-06-01 12:49:03 +02:00
parent 3cfdf46e97
commit 919fa638ee

View file

@ -33,6 +33,10 @@
reply/4, chunked_reply/3, chunk/2
]). %% Response API.
-export([
compact/1
]). %% Misc API.
-include("include/http.hrl").
-include_lib("eunit/include/eunit.hrl").
@ -213,6 +217,14 @@ chunk(Data, #http_req{socket=Socket, transport=Transport, resp_state=chunks}) ->
Transport:send(Socket, [integer_to_list(iolist_size(Data), 16),
<<"\r\n">>, Data, <<"\r\n">>]).
%% Misc API.
-spec compact(#http_req{}) -> #http_req{}.
compact(Req) ->
Req#http_req{host=undefined, host_info=undefined, path=undefined,
path_info=undefined, qs_vals=undefined, raw_qs=undefined,
bindings=undefined, headers=[]}.
%% Internal.
-spec parse_qs(binary()) -> list({binary(), binary() | true}).