This is the main interface module.
It provides basic functions for using library
stub_request_fun() = fun((bookish_spork_request:t()) -> bookish_spork_response:response())
capture_request/0 | Equivalent to capture_request(0). |
capture_request/1 | retrieve request which was sent to server. |
capture_requests/0 | Equivalent to capture_requests(0). |
capture_requests/1 | retrieve all requests which were sent to server. |
start_server/0 | Equivalent to start_server(32002). |
start_server/1 | starts http server on a particular port. |
stop_server/0 | stops http server. |
stub_request/0 | Equivalent to stub_request(204, #{<<"Server">> => <<"BookishSpork/0.0.1">>, <<"Date">> => <<"Sat, 28 Apr 2018 05:51:50 GMT">>}, <<>>). |
stub_request/1 | Equivalent to stub_request(Response, 1). |
stub_request/2 | stub request with fun or particular response. |
capture_request() -> {ok, Request::bookish_spork_request:t()} | {error, Error::term()}
Equivalent to capture_request(0)
.
capture_request(Timeout) -> {ok, Request} | {error, Error}
Error = term()
Request = bookish_spork_request:t()
Timeout = non_neg_integer()
retrieve request which was sent to server
capture_requests() -> [Request]
Request = bookish_spork_request:t()
Equivalent to capture_requests(0)
.
capture_requests(Timeout) -> [Request]
Request = bookish_spork_request:t()
Timeout = non_neg_integer()
retrieve all requests which were sent to server
start_server() -> {ok, pid()} | {error, Error::term()}
Equivalent to start_server(32002)
.
start_server(Options::proplists:proplist()) -> {ok, pid()} | {error, Error::term()}
starts http server on a particular port
stop_server() -> ok
stops http server
stub_request() -> ok
Equivalent to stub_request(204,#{<<"Server">> => <<"BookishSpork/0.0.1">>,<<"Date">> => <<"Sat, 28 Apr 2018 05:51:50 GMT">>},<<>>)
.
stub_request(Response::stub_request_fun() | bookish_spork_response:response()) -> ok
Equivalent to stub_request(Response, 1)
.
stub_request(Response::stub_request_fun() | bookish_spork_response:response(), Times::non_neg_integer()) -> ok
stub request with fun or particular response
Response
can be
-
either
fun((bookish_spork_request:t()) -> bookish_spork_response:response())
-
or response data structure
bookish_spork_response:response()
Example:
bookish_spork:stub_request(fun(Request) ->
case bookish_spork_request:uri(Request) of
"/bookish/spork" ->
[200, [], <<"Hello">>];
"/admin/sporks" ->
[403, [], <<"It is not possible here">>]
end
end, _Times = 20)