Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

A Query String is a set of Key-Value pairs or single values added at the end of the request's URL after a question mark character "?". Each fields of the Query are separated by the "&" character.

For more details, see section Query String.

µC/HTTP-server can supports the reception of a Query String in the HTTP request.

Configuration

Compile-time Configuration

The configuration macro HTTPs_CFG_QUERY_STR_EN must be set to DEF_ENABLED in the http-s_cfg.h file to enable this feature.

See section Query String Configuration for more details.

Run-time Configuration

The run-time configuration for Query String is defined as a HTTPs_QUERY_STR_CFG structure. Your application must declare an HTTPs_QUERY_STR_CFG object and include a pointer to this object in the HTTP server instance configuration HTTPs_CFG object where the QueryStrCfgPtr parameter is defined.

See section Query String Configuration for additional details.

Hook Function

The HTTP Server Instance configuration structure (HTTPs_CFG) contains a pointer to an HTTPs_HOOK_CFG object. This object indexes all the hook functions required by your application.

For additional details on the configuration of hook functions, see section Hook Configuration.

To visualize when each hook function is called by the HTTP server core, see section Hook Functions.

To retrieve the Query String data saved by the HTTP server, two hook functions can be used: OnReqHook and OnReqRdySignalHook.

Usage

When the feature is enabled, query string received in an HTTP request are saved by the HTTP server core under a list of key-value pair. This list is available under the parameter QueryStrListPtr inside the HTTPs_CONN structure. This list can be accessible by the upper application inside the hook function OnReqHook and OnReqRdySignalHook.

Single value fields inside the Query String are also supported. The value will still be saved in a Key-Value pair block, but only the value field will be meaningful.

  • No labels