httpotion v3.0.2 HTTPotion

The HTTP client for Elixir.

This module contains a basic general-purpose HTTP client. Everything in this module is created with use HTTPotion.Base. You can create your own customized client modules (see the README).

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)

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)
process_response_body(body)
process_response_chunk(chunk)
process_response_headers(headers)
process_response_location(response)
process_status_code(status_code)
process_url(url)
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 or 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)