utils/api

Types

pub type ApiError {
  HttpcError(httpc.HttpError)
  JsonDecodeError(json.DecodeError)
  ResponseError(ErrorResponse)
}

Constructors

pub type ApiResponse(a) =
  Result(a, ApiError)
pub type ErrorResponse {
  ErrorResponse(
    code: Int,
    message: String,
    data: option.Option(dynamic.Dynamic),
    request_id: option.Option(String),
  )
}

Constructors

pub type PagedData(data) {
  PagedData(data: data, meta: meta.Meta)
}

Constructors

Values

pub fn data_decoder(
  decoder: decode.Decoder(data),
) -> decode.Decoder(data)
pub fn delete(
  auth_method: auth.AuthMethod,
  path: String,
) -> request.Request(BitArray)
pub fn get(
  auth_method: auth.AuthMethod,
  path: String,
) -> request.Request(BitArray)
pub fn get_page(
  auth_method: auth.AuthMethod,
  path: String,
  page: option.Option(Int),
  limit: option.Option(Int),
) -> request.Request(BitArray)
pub fn get_page_query(
  auth_method: auth.AuthMethod,
  path: String,
  page: option.Option(Int),
  limit: option.Option(Int),
  query: List(#(String, String)),
) -> request.Request(BitArray)
pub fn get_query(
  auth_method: auth.AuthMethod,
  path: String,
  query: List(#(String, String)),
) -> request.Request(BitArray)
pub fn paged_data_decoder(
  decoder: decode.Decoder(data),
) -> decode.Decoder(PagedData(data))
pub fn parse_data_response(
  response: response.Response(BitArray),
  decoder: decode.Decoder(data),
) -> Result(data, ApiError)
pub fn parse_error_response(
  response: response.Response(BitArray),
) -> Result(data, ApiError)
pub fn parse_paged_data_response(
  response: response.Response(BitArray),
  decoder: decode.Decoder(data),
) -> Result(PagedData(data), ApiError)
pub fn parse_response(
  response: response.Response(BitArray),
  decoder: decode.Decoder(data),
) -> Result(data, ApiError)
pub fn patch(
  auth_method: auth.AuthMethod,
  path: String,
) -> request.Request(BitArray)
pub fn patch_json(
  auth_method: auth.AuthMethod,
  path: String,
  body: json.Json,
) -> request.Request(BitArray)
pub fn patch_text(
  auth_method: auth.AuthMethod,
  path: String,
  body: String,
) -> request.Request(BitArray)
pub fn post(
  auth_method: auth.AuthMethod,
  path: String,
) -> request.Request(BitArray)
pub fn post_json(
  auth_method: auth.AuthMethod,
  path: String,
  body: json.Json,
) -> request.Request(BitArray)
pub fn post_text(
  auth_method: auth.AuthMethod,
  path: String,
  body: String,
) -> request.Request(BitArray)
pub fn put(
  auth_method: auth.AuthMethod,
  path: String,
) -> request.Request(BitArray)
pub fn put_json(
  auth_method: auth.AuthMethod,
  path: String,
  body: json.Json,
) -> request.Request(BitArray)
pub fn put_text(
  auth_method: auth.AuthMethod,
  path: String,
  body: String,
) -> request.Request(BitArray)
pub fn send(
  request: request.Request(BitArray),
) -> Result(response.Response(BitArray), ApiError)
pub fn try_send(
  request: request.Request(BitArray),
  apply fun: fn(response.Response(BitArray)) -> Result(
    data,
    ApiError,
  ),
) -> Result(data, ApiError)
Search Document