protocol

http_body_codec_protocol

Protocol for portable HTTP body codecs.

Availability:
logtalk_load(http_core(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-06-26
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

media_types/1

Returns the media types supported by this body codec.

Compilation flags:
static
Template:
media_types(MediaTypes)
Mode and number of proofs:
media_types(-list(atom)) - one

encode_body/4

Encodes a semantic payload term for the given media type and options into a normalized HTTP body term.

Compilation flags:
static
Template:
encode_body(MediaType,Payload,Options,Body)
Mode and number of proofs:
encode_body(+atom,++term,+list(compound),-compound) - one_or_error
Exceptions:
MediaType is not a valid HTTP media type atom:
domain_error(http_media_type,MediaType)
Payload is not valid for MediaType:
domain_error(http_body_payload,Payload)
Options is not a valid HTTP body options list:
domain_error(http_body_options,Options)
Body is not a valid normalized HTTP body term:
domain_error(http_body,Body)

decode_body/4

Decodes a normalized HTTP body term for the given media type and options into a semantic payload term.

Compilation flags:
static
Template:
decode_body(MediaType,Body,Options,Payload)
Mode and number of proofs:
decode_body(+atom,++compound,+list(compound),-term) - one_or_error
Exceptions:
MediaType is not a valid HTTP media type atom:
domain_error(http_media_type,MediaType)
Body is not a valid normalized HTTP body term:
domain_error(http_body,Body)
Options is not a valid HTTP body options list:
domain_error(http_body_options,Options)
Payload cannot be decoded from Body for MediaType:
domain_error(http_body_payload,Payload)

Protected predicates

(none)

Private predicates

(none)

Operators

(none)