numaralı bir fişle işledikten sonra, örn. content-type
text/plain
ise body
cevabının büyük halini döndürür? Diğer middlewares'lerde resp = next(conn, params)
'u arayarak resp
'u değiştirdiniz ama bunu fişte görmedim.Denetleyicinin yanıtını phoenix
5
A
cevap
9
register_before_send/2'u kullanan bir eklenti tanımlayabilir ve yanıtın content-type
üstbilgisini kontrol edebilirsiniz (lütfen, Fişin üstbilgileri küçük harf olmasını beklediğini unutmayın). Saf bir uygulama (hayır hata denetimi) şöyle olacaktır:
defmodule Plug.UpperCaser do
@behaviour Plug
import Plug.Conn
def init(opts), do: opts
def call(conn, _opts) do
register_before_send(conn, fn(conn) ->
[content_type | _tail] = get_resp_header(conn, "content-type")
if String.contains?(content_type, "text/plain") do
resp(conn, conn.status, conn.resp_body |> to_string |> String.upcase)
else
conn
end
end)
end
end
sonsuz bir döngüye neden olur
send_resp/3 olarak kullanılır ve Sunucunuzu yeniden başlatmanız gerekir.