1
0
Fork 0
mirror of https://github.com/edgurgel/httparrot synced 2025-04-18 04:24:11 -04:00
httparrot/lib/httparrot/image_handler.ex
Eduardo Gurgel d4b66503db Add '/image'
2014-02-05 14:03:15 -03:00

26 lines
837 B
Elixir

defmodule HTTParrot.ImageHandler do
@moduledoc """
Returns an image.
"""
def init(_transport, _req, _opts) do
{:upgrade, :protocol, :cowboy_rest}
end
def allowed_methods(req, state) do
{["GET"], req, state}
end
def content_types_provided(req, state) do
{[{{"image", "png", []}, :get_png},
{{"image", "jpeg", []}, :get_jpeg}], req, state}
end
@png :base64.decode("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==")
@jpeg :base64.decode("/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/yQALCAABAAEBAREA/8wABgAQEAX/2gAIAQEAAD8A0s8g/9k=")
def get_png(req, state), do: {@png, req, state}
def get_jpeg(req, state), do: {@jpeg, req, state}
def terminate(_, _, _), do: :ok
end