Packages
mazurka
0.3.27
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.3.39
0.3.38
0.3.37
0.3.36
0.3.35
0.3.34
0.3.33
0.3.32
0.3.31
0.3.30
0.3.29
0.3.28
0.3.27
0.3.26
0.3.25
0.3.24
0.3.23
0.3.22
0.3.21
0.3.20
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
hypermedia api toolkit
Current section
Files
Jump to
Current section
Files
lib/mazurka/protocol/http/request.ex
defmodule Mazurka.Protocol.HTTP.Request do
defmacro __using__(_) do
quote do
@doc """
Make a request to the router
conn = request do
get "/"
accept "hyper+json"
header "x-orig-host", "example.com"
end
"""
defmacro request(resource \\ nil, block) do
quote do
require Mazurka.Protocol.Request
import Mazurka.Protocol.HTTP.Request
import unquote(__MODULE__)
unquote(resource)
|> Mazurka.Protocol.Request.request(unquote(block))
|> unquote(__MODULE__).call([])
|> Mazurka.Protocol.Request.merge_resp()
end
end
end
end
for method <- [:get, :post, :put, :patch, :delete, :options, :head] do
defmacro unquote(method)(path) do
method = unquote(method)
quote do
method(unquote(method))
path(unquote(path))
end
end
end
end