Skip to content

Commit

Permalink
Lowercase header keys
Browse files Browse the repository at this point in the history
  • Loading branch information
doomspork committed Mar 13, 2016
1 parent 8063241 commit 2aa0c19
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
6 changes: 3 additions & 3 deletions lib/scrivener/headers.ex
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ defmodule Scrivener.Headers do
def paginate(conn, page) do
conn
|> put_link_header(page)
|> put_resp_header("Total", Integer.to_string(page.total_entries))
|> put_resp_header("Per-Page", Integer.to_string(page.page_size))
|> put_resp_header("total", Integer.to_string(page.total_entries))
|> put_resp_header("per-page", Integer.to_string(page.page_size))
end

defp put_link_header(conn, page) do
link = conn
|> pages(page)
|> Enum.join(", ")

put_resp_header(conn, "Link", link)
put_resp_header(conn, "link", link)
end

defp pages(conn, page) do
Expand Down
2 changes: 1 addition & 1 deletion mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ defmodule Scrivener.Headers.Mixfile do

def project do
[app: :scrivener_headers,
version: "1.0.0",
version: "1.0.1",
elixir: "~> 1.2",
package: package,
description: """
Expand Down
12 changes: 6 additions & 6 deletions test/scrivener/headers_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,29 @@ defmodule Scrivener.HeadersTests do
page = %Page{page_number: 3, page_size: 10, total_pages: 5, total_entries: 50}
headers = paginated_headers(page)

assert headers["Total"] == "50"
assert headers["Per-Page"] == "10"
assert headers["Link"] == ~s(<http://www.example.com/test?foo=bar&page=1>; rel="first", <http://www.example.com/test?foo=bar&page=5>; rel="last", <http://www.example.com/test?foo=bar&page=4>; rel="next", <http://www.example.com/test?foo=bar&page=2>; rel="prev")
assert headers["total"] == "50"
assert headers["per-page"] == "10"
assert headers["link"] == ~s(<http://www.example.com/test?foo=bar&page=1>; rel="first", <http://www.example.com/test?foo=bar&page=5>; rel="last", <http://www.example.com/test?foo=bar&page=4>; rel="next", <http://www.example.com/test?foo=bar&page=2>; rel="prev")
end

test "doesn't include prev link for first page" do
page = %Page{page_number: 1, page_size: 10, total_pages: 5, total_entries: 50}
headers = paginated_headers(page)

refute headers["Link"] =~ ~s(rel="prev")
refute headers["link"] =~ ~s(rel="prev")
end

test "doesn't include next link for last page" do
page = %Page{page_number: 5, page_size: 10, total_pages: 5, total_entries: 50}
headers = paginated_headers(page)

refute headers["Link"] =~ ~s(rel="next")
refute headers["link"] =~ ~s(rel="next")
end

test "includes ports other than 80 and 443" do
page = %Page{page_number: 5, page_size: 10, total_pages: 5, total_entries: 50}
headers = paginated_headers(page, 1337)

assert headers["Link"] =~ ~s(<http://www.example.com:1337/test?foo=bar&page=1>)
assert headers["link"] =~ ~s(<http://www.example.com:1337/test?foo=bar&page=1>)
end
end

0 comments on commit 2aa0c19

Please sign in to comment.