關(guān)于Cowboy
Cowboy是基于Erlang實(shí)現(xiàn)的一個輕量級、快速、模塊化的http web服務(wù)器。
Handlers,用于處理HTTP請求的程序處理模塊。
Plain HTTP Handlers(常規(guī)Handlers)
Cowboy里面的handler最基礎(chǔ)的事情就是實(shí)現(xiàn) init/2 回調(diào)函數(shù),處理請求,發(fā)送客戶端響應(yīng)(可選),最后返回。 Cowboy根據(jù) router configuration (路由配置)接收請求并初始化State。 下面是一個不做任何處理的handler:
init(Req, State) -> {ok, Req, State}
Cowboy為了保證每一個相應(yīng)都能有客戶端響應(yīng),盡管上面例子沒有發(fā)送客戶端返回,客戶端仍然會收到一個 204 No Content 的響應(yīng)。
下面是一個有返回響應(yīng)的例子:
init(Req0, State) -> Req = cowboy_req:reply(200, [ {<<"content-type">>, <<"text/plain">>} ], <<"