pinterex v0.2.3 Pinterex.Api.Base

The module contains all the logic that does the actual calls to the Pinterest API

Summary

Functions

Perform a DELETE request. See request/1 or request/2 for options definition

Perform a DELETE request. See request/1 or request/2 for options definition

Perform a DELETE request. See request/1 or request/2 for options definition

This is the main function that does delete requests

This is the main function that does post requests

This is the main function that does patch requests

Perform a GET request. See request/1 or request/2 for options definition

Perform a GET request. See request/1 or request/2 for options definition

Perform a GET request. See request/1 or request/2 for options definition

Perform a HEAD request. See request/1 or request/2 for options definition

Perform a HEAD request. See request/1 or request/2 for options definition

Perform a HEAD request. See request/1 or request/2 for options definition

Perform a OPTIONS request. See request/1 or request/2 for options definition

Perform a OPTIONS request. See request/1 or request/2 for options definition

Perform a OPTIONS request. See request/1 or request/2 for options definition

Perform a PATCH request. See request/1 or request/2 for options definition

Perform a PATCH request. See request/1 or request/2 for options definition

Perform a PATCH request. See request/1 or request/2 for options definition

Perform a POST request. See request/1 or request/2 for options definition

Perform a POST request. See request/1 or request/2 for options definition

Perform a POST request. See request/1 or request/2 for options definition

Perform a PUT request. See request/1 or request/2 for options definition

Perform a PUT request. See request/1 or request/2 for options definition

Perform a PUT request. See request/1 or request/2 for options definition

Perform a request. See request/2 for available options

Perform a request using client function

Perform a TRACE request. See request/1 or request/2 for options definition

Perform a TRACE request. See request/1 or request/2 for options definition

Perform a TRACE request. See request/1 or request/2 for options definition

Types

option()
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}

Functions

delete(url)

Perform a DELETE request. See request/1 or request/2 for options definition.

Example

iex> ExampleApi.delete("/users")
delete(client, url)

Perform a DELETE request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.delete("/users")
iex> ExampleApi.delete("/users", query: [page: 1])
delete(client, url, options)

Perform a DELETE request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.delete("/users", query: [page: 1])
execute_request(atom, path)

This is the main function that does delete requests.

Parameters

  • :delete: it only matches delete requests
  • path: the path of the resource, this path should already contain all the query field and everything
execute_request(atom, create_struct, path)

This is the main function that does post requests.

Parameters

  • :post: it only matches post requests
  • path: the path of the resource, this path should already contain all the query field and everything
  • data: the data to post. Example: %{board: “username/board_name”}
execute_request(atom, createStruct, path, options)

This is the main function that does patch requests.

Parameters

  • :patch: it only matches patch requests
  • path: the path of the resource, this path should already contain all the query field and everything
  • data: the data to . Example: %{name: “New Name”}
get(url)

Perform a GET request. See request/1 or request/2 for options definition.

Example

iex> ExampleApi.get("/users")

Perform a GET request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.get("/users")
iex> ExampleApi.get("/users", query: [page: 1])
get(client, url, options)

Perform a GET request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.get("/users", query: [page: 1])
get_fields(path, options)
head(url)

Perform a HEAD request. See request/1 or request/2 for options definition.

Example

iex> ExampleApi.head("/users")

Perform a HEAD request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.head("/users")
iex> ExampleApi.head("/users", query: [page: 1])
head(client, url, options)

Perform a HEAD request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.head("/users", query: [page: 1])
options(url)

Perform a OPTIONS request. See request/1 or request/2 for options definition.

Example

iex> ExampleApi.options("/users")
options(client, url)

Perform a OPTIONS request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.options("/users")
iex> ExampleApi.options("/users", query: [page: 1])
options(client, url, options)

Perform a OPTIONS request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.options("/users", query: [page: 1])
patch(url, body)

Perform a PATCH request. See request/1 or request/2 for options definition.

Example

iex> ExampleApi.patch("/users", %{name: "Jon"})

Perform a PATCH request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.patch("/users", %{name: "Jon"})
iex> ExampleApi.patch("/users", %{name: "Jon"}, query: [scope: "admin"])
patch(client, url, body, options)

Perform a PATCH request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.patch("/users", %{name: "Jon"}, query: [scope: "admin"])
post(url, body)

Perform a POST request. See request/1 or request/2 for options definition.

Example

iex> ExampleApi.post("/users", %{name: "Jon"})

Perform a POST request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.post("/users", %{name: "Jon"})
iex> ExampleApi.post("/users", %{name: "Jon"}, query: [scope: "admin"])
post(client, url, body, options)

Perform a POST request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.post("/users", %{name: "Jon"}, query: [scope: "admin"])
put(url, body)

Perform a PUT request. See request/1 or request/2 for options definition.

Example

iex> ExampleApi.put("/users", %{name: "Jon"})

Perform a PUT request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.put("/users", %{name: "Jon"})
iex> ExampleApi.put("/users", %{name: "Jon"}, query: [scope: "admin"])
put(client, url, body, options)

Perform a PUT request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.put("/users", %{name: "Jon"}, query: [scope: "admin"])
request(options)
request([option]) :: Tesla.Env.t

Perform a request. See request/2 for available options.

request(client, options)

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 using Tesla.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:

iex> ExampleApi.request(method: :get, url: "/users/path")

You can also use shortcut methods like:

iex> ExampleApi.get("/users/1")

or

iex> myclient |> ExampleApi.post("/users", %{name: "Jon"})
trace(url)

Perform a TRACE request. See request/1 or request/2 for options definition.

Example

iex> ExampleApi.trace("/users")
trace(client, url)

Perform a TRACE request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.trace("/users")
iex> ExampleApi.trace("/users", query: [page: 1])
trace(client, url, options)

Perform a TRACE request. See request/1 or request/2 for options definition.

Example

iex> myclient |> ExampleApi.trace("/users", query: [page: 1])