dm_rpc_post Interface

public interface dm_rpc_post

Generic RPC post function.

Calls

interface~~dm_rpc_post~~CallsGraph interface~dm_rpc_post dm_rpc_post proc~dm_rpc_post_type dm_rpc_post_type interface~dm_rpc_post->proc~dm_rpc_post_type proc~dm_rpc_post_types dm_rpc_post_types interface~dm_rpc_post->proc~dm_rpc_post_types proc~dm_is_error dm_is_error proc~dm_rpc_post_type->proc~dm_is_error proc~dm_z_compress_type dm_z_compress_type proc~dm_rpc_post_type->proc~dm_z_compress_type proc~dm_z_type_is_valid dm_z_type_is_valid proc~dm_rpc_post_type->proc~dm_z_type_is_valid proc~dm_rpc_post_types->proc~dm_is_error proc~dm_rpc_post_types->proc~dm_z_compress_type proc~dm_rpc_post_types->proc~dm_z_type_is_valid proc~dm_zstd_destroy dm_zstd_destroy proc~dm_rpc_post_types->proc~dm_zstd_destroy proc~dm_z_compress_type->proc~dm_is_error interface~dm_nml_from dm_nml_from proc~dm_z_compress_type->interface~dm_nml_from interface~dm_z_is_valid dm_z_is_valid proc~dm_z_compress_type->interface~dm_z_is_valid interface~dm_zstd_compress dm_zstd_compress proc~dm_z_compress_type->interface~dm_zstd_compress proc~dm_zlib_compress dm_zlib_compress proc~dm_z_compress_type->proc~dm_zlib_compress zstd_free_c_ctx zstd_free_c_ctx proc~dm_zstd_destroy->zstd_free_c_ctx zstd_free_d_ctx zstd_free_d_ctx proc~dm_zstd_destroy->zstd_free_d_ctx zstd_is_error zstd_is_error proc~dm_zstd_destroy->zstd_is_error interface~dm_z_is_valid->proc~dm_z_type_is_valid compress compress proc~dm_zlib_compress->compress compress_bound compress_bound proc~dm_zlib_compress->compress_bound

Module Procedures

public function dm_rpc_post_type(request, response, type, url, username, password, user_agent, compression) result(rc)

Sends a single derived type in Namelist format to a given URL, with optional authentication and compression. The URL has to be the API endpoint that accepts HTTP POST requests.

Read more…

Arguments

Type IntentOptional Attributes Name
type(rpc_request_type), intent(inout) :: request

RPC request type.

type(rpc_response_type), intent(out) :: response

RPC response type.

class(*), intent(inout) :: type

Derived type.

character(len=*), intent(in), optional :: url

URL of RPC API (may include port).

character(len=*), intent(in), optional :: username

HTTP Basic Auth user name.

character(len=*), intent(in), optional :: password

HTTP Basic Auth password.

character(len=*), intent(in), optional :: user_agent

HTTP User Agent.

integer, intent(in), optional :: compression

Deflate or Zstandard compression of payload for POST requests (Z_TYPE_*).

Return Value integer

public function dm_rpc_post_types(requests, responses, types, url, username, password, user_agent, compression, sequential) result(rc)

Sends multiple derived types concurrently in Namelist format to the given URL, with optional authentication and compression. The URL has to be the API endpoint that accepts HTTP POST requests.

Read more…

Arguments

Type IntentOptional Attributes Name
type(rpc_request_type), intent(inout) :: requests(:)

RPC request type array.

type(rpc_response_type), intent(out), allocatable :: responses(:)

RPC response type array.

class(*), intent(inout) :: types(:)

Derived type array.

character(len=*), intent(in), optional :: url

URL of RPC API (may include port).

character(len=*), intent(in), optional :: username

HTTP Basic Auth user name.

character(len=*), intent(in), optional :: password

HTTP Basic Auth password.

character(len=*), intent(in), optional :: user_agent

HTTP User Agent.

integer, intent(in), optional :: compression

Deflate or Zstandard compression of payload for POST requests (Z_TYPE_*).

logical, intent(in), optional :: sequential

Sequential instead of concurrent transfer.

Return Value integer