•  


GitHub - scrogson/revolver: An Elixir HTTP Client inspired by Plug and Ecto
Skip to content

scrogson/revolver

Folders and files

Name Name
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Revolver

An Elixir HTTP Client inspired by Plug and Ecto .

WARNING: This library is under early development. The API may change frequently until it reaches 1.0.

The library is currently an experiment. The goal is to create something that is very composeable, like Plug . It will provide adapters for different Erlang HTTP clients.

Desired API (?)

defmodule
 GitHub
 do

  use
 Revolver.Client
,
 otp_app: 
:github

end


defmodule
 GitHub.Repos
 do

  import
 GitHub

  import
 Revolver.Conn


  @
doc
 """

  Fetches a list of repos for the give username.

  """

  def
 list!
(
user
)
 do

    conn
(
)

    |>
 get!
(
"/users/
#{
user
}
/repos"
)

  end


  @
doc
 """

  Create a repo for the current user (based on OAuth token)

  """

  def
 create!
(
token
,
 params
 \\
 %
{
}
)
 do

    params
 =
 Map
.
take
(
params
,
 ~w
(
name description homepage private has_issues

                                 has_wiki has_downloads team_id auto_init

                                 gitignore_template license_template
)
a
)

    conn
(
)

    |>
 put_req_body
(
params
)

    |>
 put_req_header
(
"authorization"
,
 "Bearer "
 <>
 token
)

    |>
 post!
(
"/user/repos"
)

  end

end


# config/config.exs

config
 :github
,
 GitHub
,

  adapter: 
Revolver.Adapters.Hackney
,

  host: 
"https://api.github.com"
,

  headers: 
[

    {
"accept"
,
 "application/vnd.github.v3+json"
}
,

    {
"content-type"
,
 "application/json"
}

  ]


# Configure serializers for automatic encoding/decoding request/response bodies

config
 :revolver
,

  serializers: 
%
{

    "application/json"
 =>
 Poison
,

    "application/vnd.github.v3+json"
 =>
 Poison

  }


conn
 =
 GitHub.Repos
.
list!
(
"scrogson"
)


IO
.
inspect
 conn

#=> %Revolver.Conn{host: "api.github.com", port: 443, scheme: :https, ...}


conn
.
resp_body

#=> [%{...}, %{...}]

LICENSE

See LICENSE

About

An Elixir HTTP Client inspired by Plug and Ecto

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본