Noizu.Google.HTTP (Noizu Google v0.2.3)

Copy Markdown View Source

Low-level HTTP helpers for Google REST APIs.

JSON GET/POST/PUT/PATCH/DELETE with OAuth2 bearer tokens. :base selects a client URL (:api, :webmasters, :analytics_admin, :analytics_data, :adsense, :google_ads) or an absolute URL string.

Summary

Functions

HTTP DELETE (optional JSON body).

POST application/x-www-form-urlencoded (OAuth token endpoints).

HTTP GET with optional query params.

HTTP PATCH JSON body → JSON response.

HTTP POST JSON body → JSON response.

HTTP PUT JSON body → JSON response.

Types

options()

@type options() :: keyword() | map() | nil

result()

@type result() :: {:ok, term()} | {:error, Noizu.Google.Error.t()}

Functions

delete(path, opts \\ [])

@spec delete(String.t(), options()) :: result()

HTTP DELETE (optional JSON body).

form_post(url, form, opts \\ [])

@spec form_post(String.t(), keyword() | map(), options()) :: result()

POST application/x-www-form-urlencoded (OAuth token endpoints).

get(path, opts \\ [])

@spec get(String.t(), options()) :: result()

HTTP GET with optional query params.

Options

  • :client%Noizu.Google.Client{} (default: Client.default())
  • :base:api (default), :webmasters, :analytics_admin, :analytics_data, :adsense, :google_ads, or an absolute base URL string
  • :query — query map/keyword list
  • :decode:atoms (default), :strings, :raw, or a module with from_json/1
  • :auth:user (default bearer), :none
  • :headers — extra headers
  • :timeout — receive timeout override

patch(path, body \\ %{}, opts \\ [])

@spec patch(String.t(), map() | list() | nil, options()) :: result()

HTTP PATCH JSON body → JSON response.

post(path, body \\ %{}, opts \\ [])

@spec post(String.t(), map() | list() | nil, options()) :: result()

HTTP POST JSON body → JSON response.

put(path, body \\ %{}, opts \\ [])

@spec put(String.t(), map() | list() | nil, options()) :: result()

HTTP PUT JSON body → JSON response.