aboutsummaryrefslogtreecommitdiffstats
path: root/src/cow_http2.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2016-06-06 15:28:05 +0200
committerLoïc Hoguin <[email protected]>2016-06-06 15:28:05 +0200
commit8645a8f197b186f4e376bcd3753c5b019830dca8 (patch)
treeb2e719d35e73b89d3f0d02bc2804812d47a87b7f /src/cow_http2.erl
parent92d75b5e90d837a263f03986ba2657b7fa0a6954 (diff)
downloadcowlib-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.
Diffstat (limited to 'src/cow_http2.erl')
-rw-r--r--src/cow_http2.erl7
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) ->