|
@@ -1,34 +0,0 @@
|
|
--module(n2o_cowboy).
|
|
|
|
--description('N4U Cowboy Server Bridge to HTTP Server Pages').
|
|
|
|
--behaviour(cowboy_http_handler).
|
|
|
|
--include_lib("n4u/include/n4u.hrl").
|
|
|
|
--export([init/3, handle/2, terminate/3]).
|
|
|
|
--compile([export_all, nowarn_export_all]).
|
|
|
|
--record(state, {headers, body}).
|
|
|
|
-
|
|
|
|
-% Cowboy HTTP Handler
|
|
|
|
-
|
|
|
|
-init(_Transport, Req, _Opts) -> {ok, Req, #state{}}.
|
|
|
|
-terminate(_Reason, _Req, _State) -> ok.
|
|
|
|
-handle(Req, State) -> {ok, NewReq} = n4u_document:run(Req), {ok, NewReq, State}.
|
|
|
|
-
|
|
|
|
-% Cowboy Bridge Abstraction
|
|
|
|
-
|
|
|
|
-params(Req) -> cowboy_req:qs_vals(Req).
|
|
|
|
-form(Req) -> {ok,Params,NewReq} = cowboy_req:body_qs(Req), {Params,NewReq}.
|
|
|
|
-path(Req) -> {Path,_NewReq} = cowboy_req:path(Req), Path.
|
|
|
|
-get_header(Name, Req, Default) -> cowboy_req:header(Name, Req, Default).
|
|
|
|
-request_body(Req) -> cowboy_req:body(Req).
|
|
|
|
-headers(Req) -> cowboy_req:headers(Req).
|
|
|
|
-set_header(Name, Value, Req) -> cowboy_req:set_resp_header(Name, Value, Req).
|
|
|
|
-header(Name, Value, Req) -> cowboy_req:set_resp_header(Name, Value, Req).
|
|
|
|
-response(Html,Req) -> cowboy_req:set_resp_body(Html,Req).
|
|
|
|
-reply(StatusCode,Req) -> cowboy_req:reply(StatusCode, Req).
|
|
|
|
-cookies(Req) -> element(1,cowboy_req:cookies(Req)).
|
|
|
|
-cookie(Cookie,Req) -> element(1,cowboy_req:cookie(wf:to_binary(Cookie),Req)).
|
|
|
|
-cookie(Cookie, Value, Req) -> cookie(Cookie,Value,<<"/">>,0,Req).
|
|
|
|
-cookie(Name, Value, Path, TTL, Req) ->
|
|
|
|
- Options = [{path, Path}, {max_age, TTL}],
|
|
|
|
- cowboy_req:set_resp_cookie(Name, Value, Options, Req).
|
|
|
|
-delete_cookie(Cookie,Req) -> cookie(Cookie,<<"">>,<<"/">>,0,Req).
|
|
|
|
-peer(Req) -> {{Ip,Port},Req} = cowboy_req:peer(Req), {Ip,Port}.
|
|
|