IPFS Elixir v0.0.7 IpfsConnection View Source
IpfsConnection is the main connector for the API. This module is mainly in place to setup the Tesla Middleware and the functions that modify the web responses and requests.
Link to this section Summary
Link to this section Types
option :: {:method, Tesla.Env.method} | {:url, Tesla.Env.url} | {:query, Tesla.Env.query} | {:headers, Tesla.Env.headers} | {:body, Tesla.Env.body} | {:opts, Tesla.Env.opts}
Link to this section Functions
Perform a DELETE request.
See request/1
or request/2
for options definition.
Example
ExampleApi.delete("/users")
delete(Tesla.Env.client, Tesla.Env.url) :: Tesla.Env.t
delete(Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a DELETE request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.delete("/users")
ExampleApi.delete("/users", query: [page: 1])
delete(Tesla.Env.client, Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a DELETE request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.delete("/users", query: [page: 1])
Perform a GET request.
See request/1
or request/2
for options definition.
Example
ExampleApi.get("/users")
get(Tesla.Env.client, Tesla.Env.url) :: Tesla.Env.t
get(Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a GET request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.get("/users")
ExampleApi.get("/users", query: [page: 1])
get(Tesla.Env.client, Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a GET request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.get("/users", query: [page: 1])
Perform a HEAD request.
See request/1
or request/2
for options definition.
Example
ExampleApi.head("/users")
head(Tesla.Env.client, Tesla.Env.url) :: Tesla.Env.t
head(Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a HEAD request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.head("/users")
ExampleApi.head("/users", query: [page: 1])
head(Tesla.Env.client, Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a HEAD request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.head("/users", query: [page: 1])
Perform a OPTIONS request.
See request/1
or request/2
for options definition.
Example
ExampleApi.options("/users")
options(Tesla.Env.client, Tesla.Env.url) :: Tesla.Env.t
options(Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a OPTIONS request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.options("/users")
ExampleApi.options("/users", query: [page: 1])
options(Tesla.Env.client, Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a OPTIONS request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.options("/users", query: [page: 1])
patch(Tesla.Env.url, Tesla.Env.body) :: Tesla.Env.t
Perform a PATCH request.
See request/1
or request/2
for options definition.
Example
ExampleApi.patch("/users", %{name: "Jon"})
patch(Tesla.Env.client, Tesla.Env.url, Tesla.Env.body) :: Tesla.Env.t
patch(Tesla.Env.url, Tesla.Env.body, [option]) :: Tesla.Env.t
Perform a PATCH request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.patch("/users", %{name: "Jon"})
ExampleApi.patch("/users", %{name: "Jon"}, query: [scope: "admin"])
patch(Tesla.Env.client, Tesla.Env.url, Tesla.Env.body, [option]) :: Tesla.Env.t
Perform a PATCH request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.patch("/users", %{name: "Jon"}, query: [scope: "admin"])
post(Tesla.Env.url, Tesla.Env.body) :: Tesla.Env.t
Perform a POST request.
See request/1
or request/2
for options definition.
Example
ExampleApi.post("/users", %{name: "Jon"})
post(Tesla.Env.client, Tesla.Env.url, Tesla.Env.body) :: Tesla.Env.t
post(Tesla.Env.url, Tesla.Env.body, [option]) :: Tesla.Env.t
Perform a POST request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.post("/users", %{name: "Jon"})
ExampleApi.post("/users", %{name: "Jon"}, query: [scope: "admin"])
post(Tesla.Env.client, Tesla.Env.url, Tesla.Env.body, [option]) :: Tesla.Env.t
Perform a POST request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.post("/users", %{name: "Jon"}, query: [scope: "admin"])
Perform a PUT request.
See request/1
or request/2
for options definition.
Example
ExampleApi.put("/users", %{name: "Jon"})
put(Tesla.Env.client, Tesla.Env.url, Tesla.Env.body) :: Tesla.Env.t
put(Tesla.Env.url, Tesla.Env.body, [option]) :: Tesla.Env.t
Perform a PUT request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.put("/users", %{name: "Jon"})
ExampleApi.put("/users", %{name: "Jon"}, query: [scope: "admin"])
put(Tesla.Env.client, Tesla.Env.url, Tesla.Env.body, [option]) :: Tesla.Env.t
Perform a PUT request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.put("/users", %{name: "Jon"}, query: [scope: "admin"])
Perform a request. See request/2
for available options.
request(Tesla.Env.client, [option]) :: Tesla.Env.t
Perform a request using client function
Options:
:method
- the request method, one of [:head, :get, :delete, :trace, :options, :post, :put, :patch]:url
- either full url e.g. “http://example.com/some/path” or just “/some/path” if usingTesla.Middleware.BaseUrl
:query
- a keyword list of query params, e.g.[page: 1, per_page: 100]
:headers
- a keyworld list of headers, e.g.[{"content-type", "text/plain"}]
:body
- depends on used middleware:- by default it can be a binary
- if using e.g. JSON encoding middleware it can be a nested map
- if adapter supports it it can be a Stream with any of the above
:opts
- custom, per-request middleware or adapter options
Examples:
ExampleApi.request(method: :get, url: "/users/path")
You can also use shortcut methods like:
ExampleApi.get("/users/1")
or
myclient |> ExampleApi.post("/users", %{name: "Jon"})
Perform a TRACE request.
See request/1
or request/2
for options definition.
Example
ExampleApi.trace("/users")
trace(Tesla.Env.client, Tesla.Env.url) :: Tesla.Env.t
trace(Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a TRACE request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.trace("/users")
ExampleApi.trace("/users", query: [page: 1])
trace(Tesla.Env.client, Tesla.Env.url, [option]) :: Tesla.Env.t
Perform a TRACE request.
See request/1
or request/2
for options definition.
Example
myclient |> ExampleApi.trace("/users", query: [page: 1])