diff options
author | Loïc Hoguin <[email protected]> | 2016-06-06 15:28:05 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2016-06-06 15:28:05 +0200 |
commit | 8645a8f197b186f4e376bcd3753c5b019830dca8 (patch) | |
tree | b2e719d35e73b89d3f0d02bc2804812d47a87b7f | |
parent | 92d75b5e90d837a263f03986ba2657b7fa0a6954 (diff) | |
download | cowlib-8645a8f197b186f4e376bcd3753c5b019830dca8.tar.gz cowlib-8645a8f197b186f4e376bcd3753c5b019830dca8.tar.bz2 cowlib-8645a8f197b186f4e376bcd3753c5b019830dca8.zip |
Add a cow_http2:data_header/3 function
For use with sendfile or streaming in general.
-rw-r--r-- | src/cow_http2.erl | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/cow_http2.erl b/src/cow_http2.erl index c8dbd9b..a0d1297 100644 --- a/src/cow_http2.erl +++ b/src/cow_http2.erl @@ -20,6 +20,7 @@ %% Building. -export([data/3]). +-export([data_header/3]). -export([headers/3]). -export([rst_stream/2]). -export([settings/1]). @@ -299,9 +300,11 @@ parse_settings_payload(<< _:48, Rest/bits >>, Len, Settings) -> %% @todo Check size and create multiple frames if needed. data(StreamID, IsFin, Data) -> - Len = iolist_size(Data), + [data_header(StreamID, IsFin, iolist_size(Data)), Data]. + +data_header(StreamID, IsFin, Len) -> FlagEndStream = flag_fin(IsFin), - [<< Len:24, 0:15, FlagEndStream:1, 0:1, StreamID:31 >>, Data]. + << Len:24, 0:15, FlagEndStream:1, 0:1, StreamID:31 >>. %% @todo Check size of HeaderBlock and use CONTINUATION frames if needed. headers(StreamID, IsFin, HeaderBlock) -> |