Escapes a query string in accordance with the HTTP specification.
HEADER-PAIR (NAME HEADERS)
Searches headers for name _without_ case sensitivity. Headers should be an alist mapping symbols to values; name a symbol. Returns the (name value) pair if name is found or nil if it is not.
HEADER-VALUE (NAME HEADERS)
Searchers headers for name _without_ case sensitivity. Headers should be an alist mapping symbols to values; name a symbol. Returns the value if name is found or nil if it is not.
HTTP-DOWNLOAD (URL DESTINATION &KEY (SIGNAL-ERROR? T))
Resolves `url` using http-resolve and downloads the contents of the stream it to `destination`. Destination is assumed to be a file. Returns (as multiple values) the number of elements downloaded (e.g., bytes) and the actual URL.
returns a list of three elements: a response code as integer, an association list of headers returned from the server, and a stream from which the response can be read.
Returns a list of two elements: a response code as an integer and an association list of headers returned from the server.
HTTP-POST (URL CONTENT-TYPE CONTENT &KEY HEADERS (DEBUG? *HTTP-DEBUG*))
given a URL, a MIME content type, and the content as a character stream, POST to the URL and return the list of three elements as described for [http-get].
HTTP-RESOLVE (URL &KEY (HTTP-METHOD 'HTTP-GET) (SIGNAL-ERROR? T) (VERBOSE? NIL))
Similar to [http-get], `http-resolve` returns a list of four elements: the HTTP response code, the headers, the stream and the resolved URL. HTTP-response resolves 301 and 302 responses, and signals an error on responses greater than 400. If there is not an error, then the caller is responsible for closing the HTTP stream.
COPY-STREAM (FROM TO)
Copy into TO from FROM until end of the input stream, in blocks of *stream-buffer-size*. The streams should have the same element type. Returns the total number of 'elements' read and written.