emptygif
語言: 繁體中文

所有語言和框架

Cowboy Erlang

適用於 Cowboy 的 Erlang 程式碼片段,以空 GIF 回應對 /pixel.gif 的請求,GIF 在啟動時只解碼一次。

Cowboy Erlang

安裝
{deps, [cowboy]}.
檔案
pixel_handler.erl
-module(pixel_handler).
-behaviour(cowboy_handler).
-export([start/0, init/2]).

%% A binary literal is built once, at compile time.
-define(GIF, <<71, 73, 70, 56, 57, 97, 1, 0, 1, 0, 128, 0, 0, 255, 255, 255, 0, 0, 0, 33, 249, 4, 1, 0, 0, 0, 0, 44, 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 2, 68, 1, 0, 59>>).

%% Call from your application's start/2.
start() ->
    Dispatch = cowboy_router:compile([{'_', [{"/pixel.gif", ?MODULE, []}]}]),
    {ok, _} = cowboy:start_clear(pixel_http, [{port, 8080}],
                                 #{env => #{dispatch => Dispatch}}).

init(Req0, State) ->
    Req = cowboy_req:reply(200, #{
        <<"content-type">> => <<"image/gif">>,
        <<"cache-control">> => <<"no-store">>
    }, ?GIF, Req0),
    {ok, Req, State}.

我們執行了這段程式碼,並比對了它回傳的位元組。

驗證

curl -sI http://localhost:8080/pixel.gif

官方網站: Cowboy