The HTTP library provides portable access to Hypertext Transmission Protocol (HTTP) communications.
The HTTP library uses two data structures specific to it: the HttpRequest
shelf and the HttpResponse
shelf. These shelves are standard OmniMark stream shelves, with a number of predefined keyed items. As with any other stream shelf, you are free to access and modify the contents. Both shelves are subject to all usual OmniMark shelf and stream operations, and you may test or modify them at will. However, you should observe and maintain the data format of both shelves, or the HTTP functions may behave in an unexpected fashion. To ensure data integrity, access the items on these shelves only through their respective functions.
The HttpRequest
shelf is used to create an HTTP-formatted request message, which can then be sent to an HTTP server. Most simple requests can be created using HttpRequestSetFromUrl
, which will create sufficient items in the HttpRequest shelf to cover most circumstances. The HttpRequest shelf contains the following keyed items:
The HttpResponse
shelf contains the information needed to construct an HTTP-formatted response message that an HTTP server will return to a client after receiving a request. The HttpResponse shelf contains the following keyed items:
The functions in the HTTP library generally fall into one of three broad categories, depending on what sort of program they are commonly called in. Though there is no technical reason they cannot be called elsewhere, the functions are used most often in the following types of programs:
These functions are found most often in client programs:
HttpRequestSetFromUrl
HttpRequestSetSearchItem
HttpRequestSetProxy
HttpRequestSend
HttpObjectGetCookieAttributes
The following functions are found most often in server programs:
HttpServiceAwaitRequest
HttpConnectionSendResponse
HttpResponseOutput
HttpRequestGetSearchItems
HttpObjectGetHeaders
HttpObjectGetCookieValues
HttpObjectSetCookieValue
HttpObjectSetCookieAttribute
A small number of functions appear in either a client or a server program:
The following task topics show you how to use the HTTP library:
The functions in this library use the following data structures:
HttpRequest
-- to create an HTTP-formatted request message, which can then be sent to an HTTP server..
HttpResponse
-- contains the information needed to construct an HTTP-formatted response message that an HTTP server will return to a client after receiving a request.
To use this library, you must include the following code near the beginning of your program:
include "omhttp.xin"