   """
   @spec redirect(Plug.Conn.t, binary, Keyword.t) :: Plug.Conn.t
   def redirect(conn, location, opts \\ []) do
-    opts = [status: 302] |> Keyword.merge opts
+    opts = [status: 302] |> Keyword.merge(opts)
     conn
       |> put_resp_header_if_not_sent("Location", location)
       |> send_resp_if_not_sent(opts[:status], "")

  """
  @spec forward(Plug.Conn.t, atom, atom, Keyword.t) :: Plug.Conn.t
  def forward(conn, controller, action, args \\ []) do
    apply controller, action, [conn, args]
  end

  @doc """

  @spec static(Plug.Conn.t, binary) :: Plug.Conn.t
  def static(conn, file) do
    filename = Path.join(["priv/static", file])
    if File.exists?(filename) do
      body = filename |> File.read!
      conn
        |> put_resp_content_type_if_not_sent("text/html")
