utils/api
Types
pub type ApiError {
HttpcError(httpc.HttpError)
JsonDecodeError(json.DecodeError)
ResponseError(ErrorResponse)
}
Constructors
-
HttpcError(httpc.HttpError)
-
JsonDecodeError(json.DecodeError)
-
ResponseError(ErrorResponse)
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
-
ErrorResponse( code: Int, message: String, data: option.Option(dynamic.Dynamic), request_id: option.Option(String), )
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 error_decoder() -> decode.Decoder(ErrorResponse)
pub fn error_response_decoder() -> decode.Decoder(ErrorResponse)
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 time_decoder() -> decode.Decoder(birl.Time)
pub fn try_send(
request: request.Request(BitArray),
apply fun: fn(response.Response(BitArray)) -> Result(
data,
ApiError,
),
) -> Result(data, ApiError)