25 #include <freeradius-devel/util/debug.h>
26 #include <freeradius-devel/server/module_rlm.h>
39 RDEBUG2(
"Forcefully cancelling pending REST request");
42 if (ret != CURLM_OK) {
43 RERROR(
"Failed removing curl handle from multi-handle: %s (%i)", curl_multi_strerror(ret), ret);
48 rest_slab_release(randle);
uint64_t transfers
How many transfers are current in progress.
CURLM * mandle
The multi handle.
CURL * candle
Request specific handle.
Structure representing an individual request being passed to curl for processing.
void * env_data
Per call environment data.
module_instance_t const * mi
Instance of the module being instantiated.
void * thread
Thread specific instance data.
void * rctx
Resume ctx that a module previously set.
#define MODULE_CTX(_mi, _thread, _env_data, _rctx)
Wrapper to create a module_ctx_t as a compound literal.
Temporary structure to hold arguments for module calls.
void rest_io_module_signal(module_ctx_t const *mctx, request_t *request, UNUSED fr_signal_t action)
Handle asynchronous cancellation of a request.
void rest_io_xlat_signal(xlat_ctx_t const *xctx, request_t *request, fr_signal_t action)
Handle asynchronous cancellation of a request.
Function prototypes and datatypes for the REST (HTTP) transport.
fr_curl_handle_t * mhandle
Thread specific multi handle.
fr_curl_io_request_t * handle
curl easy handle servicing our request.
Thread specific rlm_rest instance data.
Stores the state of a yielded xlat.
void * rctx
Resume context.
module_ctx_t const * mctx
Synthesised module calling ctx.