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:
parent
3cfdf46e97
commit
919fa638ee
1 changed files with 12 additions and 0 deletions
|
@ -33,6 +33,10 @@
|
||||||
reply/4, chunked_reply/3, chunk/2
|
reply/4, chunked_reply/3, chunk/2
|
||||||
]). %% Response API.
|
]). %% Response API.
|
||||||
|
|
||||||
|
-export([
|
||||||
|
compact/1
|
||||||
|
]). %% Misc API.
|
||||||
|
|
||||||
-include("include/http.hrl").
|
-include("include/http.hrl").
|
||||||
-include_lib("eunit/include/eunit.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),
|
Transport:send(Socket, [integer_to_list(iolist_size(Data), 16),
|
||||||
<<"\r\n">>, Data, <<"\r\n">>]).
|
<<"\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.
|
%% Internal.
|
||||||
|
|
||||||
-spec parse_qs(binary()) -> list({binary(), binary() | true}).
|
-spec parse_qs(binary()) -> list({binary(), binary() | true}).
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue