diff options
author | Loïc Hoguin <[email protected]> | 2024-01-17 12:52:45 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2024-01-17 12:52:45 +0100 |
commit | 5fe1be70078d7970c9e3bb687294d438918d7925 (patch) | |
tree | 3f0219d2fe307aaf75401401c4978a79597b9da0 /doc/src/manual/cowboy_stream.data.asciidoc | |
parent | defce46fdf85d16bbe3c0a8de6058334e8a53775 (diff) | |
download | cowboy-5fe1be70078d7970c9e3bb687294d438918d7925.tar.gz cowboy-5fe1be70078d7970c9e3bb687294d438918d7925.tar.bz2 cowboy-5fe1be70078d7970c9e3bb687294d438918d7925.zip |
Add missing manual pages for cowboy_stream functions
Diffstat (limited to 'doc/src/manual/cowboy_stream.data.asciidoc')
-rw-r--r-- | doc/src/manual/cowboy_stream.data.asciidoc | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/doc/src/manual/cowboy_stream.data.asciidoc b/doc/src/manual/cowboy_stream.data.asciidoc new file mode 100644 index 0000000..a0328f6 --- /dev/null +++ b/doc/src/manual/cowboy_stream.data.asciidoc @@ -0,0 +1,81 @@ += cowboy_stream:data(3) + +== Name + +cowboy_stream:data - Handle data for a stream + +== Description + +[source,erlang] +---- +data(StreamID, IsFin, Data, State) -> {Commands, State} + +StreamID :: cowboy_stream:stream_id() +IsFin :: cowboy_stream:fin() +Data :: binary() +Commands :: cowboy_stream:commands() +State - opaque +---- + +Handle data for a stream. + +This function should be called by all stream handlers. It will +propagate data to the next configured stream handler. Handlers +do not have to propagate data that has been fully handled. + +== Arguments + +StreamID:: + +The stream ID. + +IsFin:: + +Whether this is the end of the request body. + +Data:: + +The data received. + +Commands:: + +The commands to be executed. + +State:: + +The state for the next stream handler. + +== Return value + +A list of commands and an opaque state is returned. + +The list of commands returned should be included in the +commands returned from the current stream handler. It +can be modified if necessary. + +The state should be stored in the current stream +handler's state and passed to `cowboy_stream` when +necessary. The state should be treated as opaque. + +== Changelog + +* *2.0*: Function introduced. + +== Examples + +.Propagate data to the next stream handler +[source,erlang] +---- +data(StreamID, IsFin, Data, State=#state{next=Next0}) -> + MyCommands = my_commands(), + {Commands, Next} = cowboy_stream:data(StreamID, IsFin, Data, Next0), + {MyCommands ++ Commands, #state{next=Next}}. +---- + +== See also + +link:man:cowboy_stream(3)[cowboy_stream(3)], +link:man:cowboy_stream:init(3)[cowboy_stream:init(3)], +link:man:cowboy_stream:info(3)[cowboy_stream:info(3)], +link:man:cowboy_stream:terminate(3)[cowboy_stream:terminate(3)], +link:man:cowboy_stream:early_error(3)[cowboy_stream:early_error(3)] |