elixir http request post &get

复制代码
defmodule Gateway.Http do
  def post(conn, url, content) do
    headers = headers(conn)
    case HTTPoison.post(url, content, headers) do
       {:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
        {:ok, body}
       {:ok, %HTTPoison.Response{status_code: 404}} ->
        {:error, 404}
    end
  end

  def get(conn, url) do
    headers = headers(conn)
    case HTTPoison.get(url, headers) do
      {:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
        {:ok, body}
      {:ok, %HTTPoison.Response{status_code: 404}} ->
        {:error, 404}
    end
  end

  defp headers(conn) do
    token = conn.assigns.current_user["token"]
    [{"Content-Type", "application/json"}] ++ [{"Authorization", "bearer: " <> token}]
  end
end
复制代码

 

posted @   孤独信徒  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示