ex_victor_ops v0.4.1 ExVictorOps.Api

Provides a basic HTTP client for the VictorOps API by wrapping HTTPotion.

Examples

Requests are made by calling the method for the request passing in the path to the API resource:

ExVictorOps.Api.get(“team/support/oncall/schedule”) %HTTPotion.Response({…})

Summary

Functions

A shortcut for request(:delete, url, options)

A shortcut for request!(:delete, url, options)

A shortcut for request(:get, url, options)

A shortcut for request!(:get, url, options)

A shortcut for request(:head, url, options)

A shortcut for request!(:head, url, options)

A shortcut for request(:options, url, options)

A shortcut for request!(:options, url, options)

A shortcut for request(:patch, url, options)

A shortcut for request!(:patch, url, options)

A shortcut for request(:post, url, options)

A shortcut for request!(:post, url, options)

Adds the VictorOps headers to a request

Set the URL to perform HTTP request against

A shortcut for request(:put, url, options)

A shortcut for request!(:put, url, options)

Sends an HTTP request

Deprecated form of request; body and headers are now options, see request/3

Like request, but raises HTTPotion.HTTPError if failed

Deprecated form of request with the direct option; body and headers are now options, see request/3

Starts a linked worker process for use with the direct option

Starts a worker process for use with the direct option

Ensures that HTTPotion and its dependencies are started

Functions

delete(url, options \\ [])

A shortcut for request(:delete, url, options).

delete!(url, options \\ [])

A shortcut for request!(:delete, url, options).

get(url, options \\ [])

A shortcut for request(:get, url, options).

get!(url, options \\ [])

A shortcut for request!(:get, url, options).

handle_response(response)
head(url, options \\ [])

A shortcut for request(:head, url, options).

head!(url, options \\ [])

A shortcut for request!(:head, url, options).

is_redirect(response)
options(url, options \\ [])

A shortcut for request(:options, url, options).

options!(url, options \\ [])

A shortcut for request!(:options, url, options).

patch(url, options \\ [])

A shortcut for request(:patch, url, options).

patch!(url, options \\ [])

A shortcut for request!(:patch, url, options).

post(url, options \\ [])

A shortcut for request(:post, url, options).

post!(url, options \\ [])

A shortcut for request!(:post, url, options).

process_options(options)
process_request_body(body)
process_request_headers(headers)

Adds the VictorOps headers to a request.

Examples

iex> ExVictorOps.Api.process_request_headers %{}
%{"User-Agent": "ex-victor-ops",
  "X-VO-Api-Id": "foobar",
  "X-VO-Api-Key": "helloworld"}
process_response_body(body)
process_response_chunk(chunk)
process_response_headers(headers)
process_response_location(response)
process_status_code(status_code)
process_url(url)

Set the URL to perform HTTP request against.

Examples

iex> ExVictorOps.Api.process_url "on-call"
"https://api.victorops.com/api-public/v1/on-call"
process_url(url, options)
put(url, options \\ [])

A shortcut for request(:put, url, options).

put!(url, options \\ [])

A shortcut for request!(:put, url, options).

request(method, url, options \\ [])
request(atom, String.t, [{atom, any}]) ::
  %HTTPotion.Response{body: term, headers: term, status_code: term} |
  %HTTPotion.AsyncResponse{id: term} |
  %HTTPotion.ErrorResponse{message: term}

Sends an HTTP request.

Args:

  • method - HTTP method, atom (:get, :head, :post, :put, :delete, etc.)
  • url - URL, binary string or char list
  • options - orddict of options

Options:

  • body - request body, binary string or char list
  • headers - HTTP headers, orddict (eg. ["Accept": "application/json"])
  • timeout - timeout in ms, integer
  • basic_auth - basic auth credentials (eg. {"user", "password"})
  • stream_to - if you want to make an async request, the pid of the process
  • direct - if you want to use ibrowse’s direct feature, the pid of

        the worker spawned by [`spawn_worker_process/2`](#spawn_worker_process/2) or [`spawn_link_worker_process/2`](#spawn_link_worker_process/2)
  • follow_redirects - if true and a response is a redirect, header[:Location] is taken for the next request

Returns HTTPotion.Response or HTTPotion.AsyncResponse if successful. Returns HTTPotion.ErrorResponse if failed.

request(method, url, body, headers, options)

Deprecated form of request; body and headers are now options, see request/3.

request!(method, url, options \\ [])
request!(atom, String.t, [{atom, any}]) ::
  %HTTPotion.Response{body: term, headers: term, status_code: term} |
  %HTTPotion.AsyncResponse{id: term}

Like request, but raises HTTPotion.HTTPError if failed.

request_direct(conn_pid, method, url, body \\ "", headers \\ [], options \\ [])

Deprecated form of request with the direct option; body and headers are now options, see request/3.

response_ok(response)
spawn_worker_process(url, options \\ [])

Starts a worker process for use with the direct option.

start()

Ensures that HTTPotion and its dependencies are started.

stop_worker_process(pid)

Stops a worker process started with spawn_worker_process/2 or spawn_link_worker_process/2.

transformer(target, method, url, options)