The http-parse Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The http-parse Reference Manual

This is the http-parse Reference Manual, version 0.1.10, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:01:06 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

This library has been superceded by fast-http

http-parse had a good, long life and served many HTTP requests, but it's now time for it to stand aside and let libraries better than itself take its place. fast-http is an incredible library (and is now the core parser used in Wookie).

Use fast-http instead of http-parse. This library is retired.

http-parse

A pure-lisp library for parsing HTTP requests/responses. Right now the focus for this library is making it useful and easy to use. With time, slower parts of http-parse will be replaced to make it screaming fast.

The purpose of this library is to be able to easily parse incoming HTTP data either synchronously or asynchronously (but it was mainly built for streaming HTTP data asynchronously).

Documentation

http (class)

This is a base class extended by http-request and http-response. It holds values that both requests/responses deal with (HTTP version, headers, body).

This class, and those that extend it, are meant to be instiantiated with no parameters and passed into the make-parser function, which fills in all the details which can be read out later.

http-version

Accessor for the parsed HTTP version out of the http object.

http-headers

Accessor for the headers parsed from the HTTP request/response

http-store-body

store-body specifies whether the HTTP body should be stored (in its entirety) in the http-body accessor. If this is set after initializing a parser, it should be done so no later than the header-callback being fired, or else pieces of the body may be missing.

http-force-stream

force-stream lets the parser know that you want every TCP packet that comes in to be passed into a body callback as if it was sent via an HTTP chunk. This is an advanced option, but can be very useful in some cases. For instance, if you have a server that supports file uploads and a client doesn't know how to chunk an upload (like every browser ever), your server is going to spin its CPU and waste memory buffering the entire file and passing it around as a huge array instead of dealing with it packet by packet. This is a great way to fake HTTP chunking in your server/client.

http-body

Accessor for the full HTTP body from the request/response (although storing of the body in the http object must be explicitely asked for by passing :store-body t into make-parser.

http-request (class)

extends http

Holds values specific to an HTTP request (method, resource)

http-method

Accessor for the parsed HTTP request method as a keyword: :GET, :POST, etc.

http-resource

Accessor for the resource in the request. Parse with puri.

http-response (class)

extends http

Holds values specific to an HTTP response (status, status text).

http-status

Accessor for the HTTP response status (integer).

http-status-text

Accessor for the HTTP response status string: OK, Insufficient Privileges, etc.

make-parser (function)

(defun make-parser (http &key header-callback body-callback multipart-callback finish-callback store-body)
  => closure

This is what you've all been waiting for, folks. This function initializes an HTTP parser (a closure) which can be fed binary data in sequence and will parse an HTTP request/response as it comes in.

It accepts a class of http-request or http-response as its only required argument. It returns a closure which only has one argument: a byte array that contains pieces of an HTTP request/response. The pieces must be in order, but other than that, there is no restriction on how many times the parser can be called with new data until it is finished. In some cases (older HTTP versions), the end of an HTTP payload is marked by an EOF on the socket. If this occurs, you can pass :eof into the parser instead of a byte array to signal that it should finish up.

The parser closure returns three values: the http object passed in, a boolean indicating if the headers are finished parsing, and a boolean indicating if the HTTP body has been fully parsed.

make-parser accepts these callbacks: :header-callback, :body-callback, :multipart-callback, and :finish-callback.

The :store-body keyword specifies that the parser should store the body (as a byte array) into the given http object as it is parsed. Otherwise, the best way to get the body data is via the body-callback.

;; example. anything under my-app is not included.
(let ((http (make-instance 'http-response))
      (parser (make-parser http
                           :header-callback (lambda (headers)
                                              (my-app:got-headers!!! headers))
                           :body-callback (lambda (bytes)
                                              (my-app:got-body-piece bytes)))))
  (loop for http-data = (my-app:get-http-data-from-request-i-sent-out-earlier) do
    (multiple-value-bind (http headers-finished-p body-finished-p)
        (funcall parser http-data)
      (when body-finished-p
        (my-app:close-http-stream))
      ...)))
Parser lambda definition
(lambda (byte-array) ...)
  => http, headers-finished-p, body-finished-p

As noted, if an EOF happens on the socket the HTTP data is coming in on, you may indicate this to the parser by sending in :eof instead of the byte array.

header-callback definition
(lambda (header-plist) ...)

Headers are in the form '(:host "musio.com" :content-type "text/html" ...). Headers are not reversed, they are passed in the order they occur in the HTTP payload.

body-callback definition
(lambda (byte-array last-chunk-p) ...)

Byte-array is not cumulative, it is just the new data that has been parsed from the payload. If multiple chunks are parsed at once, their body data is sent in as one call to the body-callback. Incomplete chunks are not sent in until they are completed.

last-chunk-p is true if the entire body has been processed (if a Content-Length was specified and all bytes accounted for, or if the body is chunked and the 0-byte chunk has been encountered).

multipart-callback definition

See multipart parser callback definition.

finish-callback definition
(lambda () ...)

This callback is fired when the HTTP parser is finished parsing the request/response.

make-multipart-parser (function)

(defun make-multipart-parser (headers callback))
  => closure

Returns a parser closure to deal with multipart form data. Data is fed to the parser in as many chunks as needed (or all at once) and the given callback will be fired at least once for each form field present in the multipart form data. If data for a field is spread over multiple chunks, the callback is fired for each of the chunks, along with a second argument indicating whether the current chunk is that last for that field.

headers are all the headers from a parsed HTTP payload, in plist form.

NOTE: If make-multipart-parser detects that the data being decoded is not in multipart format (determined by reading the headers), it returns nil instead of a closure.

multipart parser callback definition
(lambda (field-name field-headers field-meta body-bytes body-complete-p) ...)

This callback is fired for each form field encountered in a multipart request.

The field-name arg is a string indicating the name of the form field. The field-headers arg is a plist containing the headers for that field (generally this is Content-Disposition and sometimes Content-Type for uploads). The field-meta arg is a plist of key/value pairs found in the Content-Disposition header for the field (this is where the field-name arg comes from, and is also used to specify the filename of uploaded files). body-bytes is a byte array containing all or a chunk of that field's data, and body-complete-p indicates whether or not the body-bytes being sent into the callback is the last bit of data for that field.

Generally, this callback will be a closure that is able to track the current field it's operating on and be able to handle the case where body-bytes is spread over multiple calls if body-complete-p is nil.

Tests

Tests are under the http-parse-test package:

(ql:quickload :http-parse-test)
(http-parse-test:run-tests)

Please report any bugs you find or failing tests to the issues list.

License

MIT Licensed. Enjoy.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 http-parse

Author

Andrew Danger Lyon <orthecreedence@gmail.com>

License

MIT

Description

A library for parsing HTTP requests/responses (synchronous or asynchronous).

Version

0.1.10

Dependencies
Source

http-parse.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 http-parse.asd

Location

http-parse.asd

Systems

http-parse (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 http-parse/package.lisp

Parent

http-parse (system)

Location

package.lisp

Packages

http-parse


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 http-parse/util.lisp

Dependency

package.lisp (file)

Parent

http-parse (system)

Location

util.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 http-parse/parse.lisp

Dependency

util.lisp (file)

Parent

http-parse (system)

Location

parse.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.5 http-parse/multipart-parse.lisp

Dependency

util.lisp (file)

Parent

http-parse (system)

Location

multipart-parse.lisp

Exported Definitions

make-multipart-parser (function)

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 http-parse

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Functions

Function: make-multipart-parser HEADERS CALLBACK

Make a multipart parser. Returns a closure that accepts a byte array of data from an HTTP body. Can be sent in in chunks. Callback will be called whenever a complete data chunk is sent in (called for each part in the data chunk) or as a continuation of a chunk that complete headers were sent in for but didn’t finish sending in its body.

Package

http-parse

Source

multipart-parse.lisp (file)

Function: make-parser HTTP &key HEADER-CALLBACK BODY-CALLBACK MULTIPART-CALLBACK FINISH-CALLBACK STORE-BODY

Return a closure that parses an HTTP request/response by calling it with
the bytes received as its only argument. The closure returns three values: the http object passed in, a boolean representing whether the headers have been fully parsed, and a boolean representing whether the request/response is finished (blank body, all body bytes accounted for, or 0-length chunk received).

During the parsing, the closure will call (if specified) the ‘header-callback‘ with all the headers as a plist once they are fully parsed, and the ‘body-callback‘ with the body once either it finishes parsing (if we have Content-Length) or once for each set of completed chunks sent, which allows streaming the body as it comes in. If a multipart callback is given, it will be called at least once for each form field present in the multipart form data.

The ‘:finish-callback‘ will be called when the HTTP payload is fully processed.

The :store-body keyword indicates to the parser that we wish to keep the body (in its entirety) in the http object passed in (accessible via the http-body accessor). Otherwise, the body will be discarded as it’s parsed (but remember, will still be sent to the body-callback as it comes in).
Parsing can be forced to completion by passing :EOF into the data arg. It is recommended to do this if the client/server closes the connection before you do.

Package

http-parse

Source

parse.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Generic functions

Generic Function: http-body OBJECT
Generic Function: (setf http-body) NEW-VALUE OBJECT
Package

http-parse

Methods
Method: http-body (HTTP http)

automatically generated reader method

Source

parse.lisp (file)

Method: (setf http-body) NEW-VALUE (HTTP http)

automatically generated writer method

Source

parse.lisp (file)

Generic Function: http-force-stream OBJECT
Generic Function: (setf http-force-stream) NEW-VALUE OBJECT
Package

http-parse

Methods
Method: http-force-stream (HTTP http)

automatically generated reader method

Source

parse.lisp (file)

Method: (setf http-force-stream) NEW-VALUE (HTTP http)

automatically generated writer method

Source

parse.lisp (file)

Generic Function: http-headers OBJECT
Generic Function: (setf http-headers) NEW-VALUE OBJECT
Package

http-parse

Methods
Method: http-headers (HTTP http)

automatically generated reader method

Source

parse.lisp (file)

Method: (setf http-headers) NEW-VALUE (HTTP http)

automatically generated writer method

Source

parse.lisp (file)

Generic Function: http-method OBJECT
Generic Function: (setf http-method) NEW-VALUE OBJECT
Package

http-parse

Methods
Method: http-method (HTTP-REQUEST http-request)

automatically generated reader method

Source

parse.lisp (file)

Method: (setf http-method) NEW-VALUE (HTTP-REQUEST http-request)

automatically generated writer method

Source

parse.lisp (file)

Generic Function: http-resource OBJECT
Generic Function: (setf http-resource) NEW-VALUE OBJECT
Package

http-parse

Methods
Method: http-resource (HTTP-REQUEST http-request)

automatically generated reader method

Source

parse.lisp (file)

Method: (setf http-resource) NEW-VALUE (HTTP-REQUEST http-request)

automatically generated writer method

Source

parse.lisp (file)

Generic Function: http-status OBJECT
Generic Function: (setf http-status) NEW-VALUE OBJECT
Package

http-parse

Methods
Method: http-status (HTTP-RESPONSE http-response)

automatically generated reader method

Source

parse.lisp (file)

Method: (setf http-status) NEW-VALUE (HTTP-RESPONSE http-response)

automatically generated writer method

Source

parse.lisp (file)

Generic Function: http-status-text OBJECT
Generic Function: (setf http-status-text) NEW-VALUE OBJECT
Package

http-parse

Methods
Method: http-status-text (HTTP-RESPONSE http-response)

automatically generated reader method

Source

parse.lisp (file)

Method: (setf http-status-text) NEW-VALUE (HTTP-RESPONSE http-response)

automatically generated writer method

Source

parse.lisp (file)

Generic Function: http-store-body OBJECT
Generic Function: (setf http-store-body) NEW-VALUE OBJECT
Package

http-parse

Methods
Method: http-store-body (HTTP http)

automatically generated reader method

Source

parse.lisp (file)

Method: (setf http-store-body) NEW-VALUE (HTTP http)

automatically generated writer method

Source

parse.lisp (file)

Generic Function: http-version OBJECT
Generic Function: (setf http-version) NEW-VALUE OBJECT
Package

http-parse

Methods
Method: http-version (HTTP http)

automatically generated reader method

Source

parse.lisp (file)

Method: (setf http-version) NEW-VALUE (HTTP http)

automatically generated writer method

Source

parse.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Classes

Class: http ()

Base HTTP class, holds data common to both requests and responses.

Package

http-parse

Source

parse.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: version
Initargs

:version

Initform

1

Readers

http-version (generic function)

Writers

(setf http-version) (generic function)

Slot: headers
Initargs

:headers

Readers

http-headers (generic function)

Writers

(setf http-headers) (generic function)

Slot: store-body
Initargs

:store-body

Readers

http-store-body (generic function)

Writers

(setf http-store-body) (generic function)

Slot: force-stream
Initargs

:force-stream

Readers

http-force-stream (generic function)

Writers

(setf http-force-stream) (generic function)

Slot: body
Initargs

:body

Initform

(make-array 0 :element-type (quote (unsigned-byte 8)))

Readers

http-body (generic function)

Writers

(setf http-body) (generic function)

Class: http-request ()

HTTP request class, extends ‘http‘ and holds all request-specific data.

Package

http-parse

Source

parse.lisp (file)

Direct superclasses

http (class)

Direct methods
Direct slots
Slot: method
Initargs

:method

Readers

http-method (generic function)

Writers

(setf http-method) (generic function)

Slot: resource
Initargs

:resource

Initform

"/"

Readers

http-resource (generic function)

Writers

(setf http-resource) (generic function)

Class: http-response ()

HTTP response class, extends ‘http‘ and holds all response-specific data.

Package

http-parse

Source

parse.lisp (file)

Direct superclasses

http (class)

Direct methods
Direct slots
Slot: status
Initargs

:status

Initform

0

Readers

http-status (generic function)

Writers

(setf http-status) (generic function)

Slot: status-text
Initargs

:status-text

Initform

""

Readers

http-status-text (generic function)

Writers

(setf http-status-text) (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *scanner-content-disposition-kv-pairs*

Grabs the key/value pairs from a Content-Disposition header.

Package

http-parse

Source

multipart-parse.lisp (file)

Special Variable: *scanner-find-first-header*

Create a scanner to find the first header in a string.

Package

http-parse

Source

parse.lisp (file)

Special Variable: *scanner-header-parse-kv*

Create a regex scanner for splitting header kv pairs up.

Package

http-parse

Source

parse.lisp (file)

Special Variable: *scanner-header-parse-line*

Create a regex scanner for splitting header lines up.

Package

http-parse

Source

parse.lisp (file)

Special Variable: *scanner-numeric*

Create a regex scanner that detects if a string can be converted to a numver.

Package

http-parse

Source

parse.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: append-array ARR1 ARR2

Create an array, made up of arr1 followed by arr2.

Package

http-parse

Source

util.lisp (file)

Function: convert-headers-plist HEADER-STR

Pull out headers in a plist from a string.

Package

http-parse

Source

parse.lisp (file)

Function: find-non-whitespace-pos SEQ &key START

Find the position of the first non-whitespace character in a sequence.

Package

http-parse

Source

util.lisp (file)

Function: get-complete-chunks DATA

Given a chunk (octet vector) of HTTP data, return only the data from the *complete* chunks in the data and return the position in the byte vector of the start of the next chunk, and lastly return whether the last chunk (the 0-byte chunk) has been parsed (ie, HTTP body complete).

Package

http-parse

Source

parse.lisp (file)

Function: get-header-block BYTES &key GET-PREVIOUS-LINE

Given the bytes of an HTTP request/response, pull out only the headers and optionally the line above the start of the headers. Returns the headers as a string.

Package

http-parse

Source

parse.lisp (file)

Function: get-header-kv-pairs CONTENT-DISPOSITION-HEADER-STR

Given a content-disposition header value, pull out the key/value pairs in it.

Package

http-parse

Source

multipart-parse.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Generic functions

Generic Function: parse-headers HTTP BYTES

Given a slew of HTTP bytes, parse the headers out of them along with any other useful information lurking in there (status code, resource, etc). Returns the HTTP object passed in.

Package

http-parse

Source

parse.lisp (file)

Methods
Method: parse-headers (HTTP http-response) (BYTES vector)
Method: parse-headers (HTTP http-request) (BYTES vector)

Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   H   L  
Index Entry  Section

F
File, Lisp, http-parse.asd: The http-parse<dot>asd file
File, Lisp, http-parse/multipart-parse.lisp: The http-parse/multipart-parse<dot>lisp file
File, Lisp, http-parse/package.lisp: The http-parse/package<dot>lisp file
File, Lisp, http-parse/parse.lisp: The http-parse/parse<dot>lisp file
File, Lisp, http-parse/util.lisp: The http-parse/util<dot>lisp file

H
http-parse.asd: The http-parse<dot>asd file
http-parse/multipart-parse.lisp: The http-parse/multipart-parse<dot>lisp file
http-parse/package.lisp: The http-parse/package<dot>lisp file
http-parse/parse.lisp: The http-parse/parse<dot>lisp file
http-parse/util.lisp: The http-parse/util<dot>lisp file

L
Lisp File, http-parse.asd: The http-parse<dot>asd file
Lisp File, http-parse/multipart-parse.lisp: The http-parse/multipart-parse<dot>lisp file
Lisp File, http-parse/package.lisp: The http-parse/package<dot>lisp file
Lisp File, http-parse/parse.lisp: The http-parse/parse<dot>lisp file
Lisp File, http-parse/util.lisp: The http-parse/util<dot>lisp file

Jump to:   F   H   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   C   F   G   H   M   P  
Index Entry  Section

(
(setf http-body): Exported generic functions
(setf http-body): Exported generic functions
(setf http-force-stream): Exported generic functions
(setf http-force-stream): Exported generic functions
(setf http-headers): Exported generic functions
(setf http-headers): Exported generic functions
(setf http-method): Exported generic functions
(setf http-method): Exported generic functions
(setf http-resource): Exported generic functions
(setf http-resource): Exported generic functions
(setf http-status): Exported generic functions
(setf http-status): Exported generic functions
(setf http-status-text): Exported generic functions
(setf http-status-text): Exported generic functions
(setf http-store-body): Exported generic functions
(setf http-store-body): Exported generic functions
(setf http-version): Exported generic functions
(setf http-version): Exported generic functions

A
append-array: Internal functions

C
convert-headers-plist: Internal functions

F
find-non-whitespace-pos: Internal functions
Function, append-array: Internal functions
Function, convert-headers-plist: Internal functions
Function, find-non-whitespace-pos: Internal functions
Function, get-complete-chunks: Internal functions
Function, get-header-block: Internal functions
Function, get-header-kv-pairs: Internal functions
Function, make-multipart-parser: Exported functions
Function, make-parser: Exported functions

G
Generic Function, (setf http-body): Exported generic functions
Generic Function, (setf http-force-stream): Exported generic functions
Generic Function, (setf http-headers): Exported generic functions
Generic Function, (setf http-method): Exported generic functions
Generic Function, (setf http-resource): Exported generic functions
Generic Function, (setf http-status): Exported generic functions
Generic Function, (setf http-status-text): Exported generic functions
Generic Function, (setf http-store-body): Exported generic functions
Generic Function, (setf http-version): Exported generic functions
Generic Function, http-body: Exported generic functions
Generic Function, http-force-stream: Exported generic functions
Generic Function, http-headers: Exported generic functions
Generic Function, http-method: Exported generic functions
Generic Function, http-resource: Exported generic functions
Generic Function, http-status: Exported generic functions
Generic Function, http-status-text: Exported generic functions
Generic Function, http-store-body: Exported generic functions
Generic Function, http-version: Exported generic functions
Generic Function, parse-headers: Internal generic functions
get-complete-chunks: Internal functions
get-header-block: Internal functions
get-header-kv-pairs: Internal functions

H
http-body: Exported generic functions
http-body: Exported generic functions
http-force-stream: Exported generic functions
http-force-stream: Exported generic functions
http-headers: Exported generic functions
http-headers: Exported generic functions
http-method: Exported generic functions
http-method: Exported generic functions
http-resource: Exported generic functions
http-resource: Exported generic functions
http-status: Exported generic functions
http-status: Exported generic functions
http-status-text: Exported generic functions
http-status-text: Exported generic functions
http-store-body: Exported generic functions
http-store-body: Exported generic functions
http-version: Exported generic functions
http-version: Exported generic functions

M
make-multipart-parser: Exported functions
make-parser: Exported functions
Method, (setf http-body): Exported generic functions
Method, (setf http-force-stream): Exported generic functions
Method, (setf http-headers): Exported generic functions
Method, (setf http-method): Exported generic functions
Method, (setf http-resource): Exported generic functions
Method, (setf http-status): Exported generic functions
Method, (setf http-status-text): Exported generic functions
Method, (setf http-store-body): Exported generic functions
Method, (setf http-version): Exported generic functions
Method, http-body: Exported generic functions
Method, http-force-stream: Exported generic functions
Method, http-headers: Exported generic functions
Method, http-method: Exported generic functions
Method, http-resource: Exported generic functions
Method, http-status: Exported generic functions
Method, http-status-text: Exported generic functions
Method, http-store-body: Exported generic functions
Method, http-version: Exported generic functions
Method, parse-headers: Internal generic functions
Method, parse-headers: Internal generic functions

P
parse-headers: Internal generic functions
parse-headers: Internal generic functions
parse-headers: Internal generic functions

Jump to:   (  
A   C   F   G   H   M   P  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
B   F   H   M   R   S   V  
Index Entry  Section

*
*scanner-content-disposition-kv-pairs*: Internal special variables
*scanner-find-first-header*: Internal special variables
*scanner-header-parse-kv*: Internal special variables
*scanner-header-parse-line*: Internal special variables
*scanner-numeric*: Internal special variables

B
body: Exported classes

F
force-stream: Exported classes

H
headers: Exported classes

M
method: Exported classes

R
resource: Exported classes

S
Slot, body: Exported classes
Slot, force-stream: Exported classes
Slot, headers: Exported classes
Slot, method: Exported classes
Slot, resource: Exported classes
Slot, status: Exported classes
Slot, status-text: Exported classes
Slot, store-body: Exported classes
Slot, version: Exported classes
Special Variable, *scanner-content-disposition-kv-pairs*: Internal special variables
Special Variable, *scanner-find-first-header*: Internal special variables
Special Variable, *scanner-header-parse-kv*: Internal special variables
Special Variable, *scanner-header-parse-line*: Internal special variables
Special Variable, *scanner-numeric*: Internal special variables
status: Exported classes
status-text: Exported classes
store-body: Exported classes

V
version: Exported classes

Jump to:   *  
B   F   H   M   R   S   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   H   P   S  
Index Entry  Section

C
Class, http: Exported classes
Class, http-request: Exported classes
Class, http-response: Exported classes

H
http: Exported classes
http-parse: The http-parse system
http-parse: The http-parse package
http-request: Exported classes
http-response: Exported classes

P
Package, http-parse: The http-parse package

S
System, http-parse: The http-parse system

Jump to:   C   H   P   S