The μC/HTTPs module has to be configured according to specific needs. A template configuration file (http-s_cfg.h
) is included in the module package (see µC/HTTPs Directories and Files), and this configuration should be copied into the application directory and included to the project. Here is the list of the values and description of each of the configuration variable. However, keep in mind that future releases of this module might include more configuration options.
Argument Checking and Debug Configuration
Most functions in μC/HTTPs include code to validate arguments that are passed to it. Specifically, μC/TCP-IP checks to see if passed pointers are NULL, if arguments are within valid ranges, etc. The following constants configure additional argument checking.
A fair amount of code in μC/HTTPs has been included to simplify debugging. There are several configuration constants used to aid debugging.
Counter Configuration
μC/HTTPs contains code that increments counters to keep track of statistics such as the number of request received, the number of connection processed, etc. Also, μC/HTTPs contains counters that are incremented when error conditions are detected. The following constants enable or disable HTTP counters.
Dynamic Content Configuration
A considerable amount of code in μC/HTTPs has been included to parse, replace and transmit html document with dynamic content.
HTTPs_CFG_TOKEN_PARSE_EN
HTTPs_CFG_TOKEN_PARSE_EN
determines whether the code and data space used to support the parsing of the tokens found in HTML files for dynamic content will be included. HTTPs_CFG_TOKEN_PARSE_EN
can be set to either DEF_DISABLED
or DEF_ENABLED
.
If the server does not host dynamic content, the feature should be disabled in order to speed up processing.
CGI / Form Submission Configuration
µC/HTTPs allows to use forms in HTML documents using the HTTP POST method. µC/HTTPs is designed to manage different type of form encoding and also to upload files from an HTML form.
HTTPs_CFG_CGI_EN
HTTPs_CFG_CGI_EN
determines whether the code and data space used to support forms submission will be included. HTTPs_CFG_CGI_EN
can be set to either DEF_DISABLED
or DEF_ENABLED
.
If the server does not host form, this feature should be disabled in order to speed up processing.
If this feature is set as disabled all other CGI configurations are automatically disabled.
HTTPs_CFG_POLL_EN
HTTPs_CFG_CGI_POLL_EN
determines whether the code and data space used to support hook function to poll the upper application will be called to know the end of form processing. HTTPs_CFG_CGI_POLL_EN
can be set to either DEF_DISABLED
or DEF_ENABLED
.
Note that all hook functions must be non-blocking, if the processing of forms can take a while, poll hook function should be use and implemented to avoid the CGI submit hook function to take a long time to return.
HTTPs_CFG_MULTIPART_EN
HTTPs_CFG_CGI_MULTIPART_EN
determines whether the code and data space used to support forms submission with “multipart/form-data” encoding will be included. HTTPs_CFG_CGI_MULTIPART_EN
can be set to either DEF_DISABLED
or DEF_ENABLED
.
HTTPs_CFG_CGI_FILE_UPLOAD_EN
HTTPs_CFG_CGI_FILE_UPLOAD_EN
determines whether the code and data space used to support file uploading will be included. HTTPs_CFG_CGI_FILE_UPLOAD_EN
can be set to either DEF_DISABLED
or DEF_ENABLED
.
Note that file upload is only supported using “multipart/form-data” encoding.
Header Field Configuration
μC/HTTPs contains code that allow the upper application to receive header field received in the request message and add header field to be transmitted with the response message.
HTTPs_CFG_CGI_HDR_EN
HTTPs_CFG_HDR_EN
determines whether the code and data space used to support header field from request and response. HTTPs_CFG_HDR_EN
can be set to either DEF_DISABLED
or DEF_ENABLED
Proxy Configuration
µC/HTTPs can be accessed even if it’s located behind a proxy.
HTTPs_CFG_ABSOLUTE_URI_EN
HTTPs_CFG_ABSOLUTE_URI_EN
determines whether the code and data space used to support header field for absolute URI. HTTPs_CFG_ABSOLUTE_URI_EN
can be set to either DEF_DISABLED
or DEF_ENABLED
.