123456789101112131415161718192021222324252627282930 |
- %% This module defines the ranges_provided callback
- %% and return something different depending on query string.
- -module(ranges_provided_h).
- -export([init/2]).
- -export([content_types_provided/2]).
- -export([ranges_provided/2]).
- -export([get_text_plain/2]).
- init(Req, State) ->
- {cowboy_rest, Req, State}.
- content_types_provided(Req, State) ->
- {[{{<<"text">>, <<"plain">>, []}, get_text_plain}], Req, State}.
- ranges_provided(Req=#{qs := <<"list">>}, State) ->
- {[
- {<<"bytes">>, get_text_plain_bytes},
- {<<"pages">>, get_text_plain_pages},
- {<<"chapters">>, get_text_plain_chapters}
- ], Req, State};
- ranges_provided(Req=#{qs := <<"none">>}, State) ->
- {[], Req, State};
- %% Simulate the callback being missing in other cases.
- ranges_provided(_, _) ->
- no_call.
- get_text_plain(Req, State) ->
- {<<"This is REST!">>, Req, State}.
|