URL-encode STRING according to AWS's requirements.
Encode VECTOR as a base64 string.
HMAC-SHA256-SIGNATURE-BASE64 (SECRET-KEY VECTOR)
Return a base64-encoded string of the SHA256-HMAC of VECTOR with the UTF-8 encoded octets of the string SECRET-KEY.
ISO8601-TIMESTAMP (&OPTIONAL (TIME (GET-UNIVERSAL-TIME)))
Return an ISO 8601-style UTC timestamp string.
MAKE-PARAMETERS (&REST KEYS-AND-VALUES)
Convert KEYS-AND-VALUES to an alist suitable for using as parameters or headers in an HTTP request. Keys and values are coerced to strings, if necessary.
OCTET-VECTOR (&REST OCTETS)
Return a specialized array initialized with OCTETS.
Parse an ISO 8601-style UTC timestamp and return a universal time and fraction of a second as multiple values.
RFC1123-TIMESTAMP (&OPTIONAL (TIME (GET-UNIVERSAL-TIME)))
Return an RFC 1123-style GMT timestamp string.
Return STRING encoded as UTF-8 octets.
SUBMIT-COMMON-QUERY (CLASS INITARGS ACTION &REST ACTION-PARAMETERS)
Call FUN with one argument, an octet sink.
Convert the alist PARAMETERS to a string suitable for use in authentication strings-to-sign.
STARTS-WITH (PREFIX STRING)
Return T if STRING starts with PREFIX.
NTH-LINE (N FILE &OPTIONAL (ERRORP T))
DO-PARAMETERS ((KEY VALUE &OPTIONAL RESULT) PARAMETERS &BODY BODY)
Evaluate BODY for with KEY and VALUE bound to each car and cdr in in the alist PARAMETERS.
WITH-OCTET-SINK ((SINK) &BODY BODY)
Evaluate BODY with SINK bound to a newly created octet sink. Returns the octet vector accumulated in SINK when finished.
The access key id of CREDENTIALS.
CHECK-RESPONSE-ERROR (REQUEST RESPONSE)
Check the low-level response object for errors and signal if found.
If the content of OBJECT is a string, return it, otherwise treat it as utf-8 encoded octets and return its conversion to a string.
DELETE-HEADER (KEY HTTP-MESSAGE)
Remove any header named by KEY from HTTP-MESSAGE's list of headers.
DELETE-PARAMETER (KEY REQUEST)
Remove any parameter named KEY from REQUEST's list of parameters.
ENSURE-HEADER (KEY VALUE HTTP-MESSAGE)
Ensure that the header named by KEY in HTTP-MESSAGE has the value VALUE, updating or creating the header as needed.
The expiration time, as a universal time, of CREDENTIALS.
Returns T if CREDENTIALS have expired.
Prepare REQUEST for signing by adding or converting any information that needs to be available for the signing process. Returns the REQUST object.
PROCESS-RESPONSE (REQUEST RESPONSE)
Process a valid response object into a suitable specialized object according to REQUEST. The default method returns the response unchanged.
The secret access key of CREDENTIALS.
The session token of CREDENTIALS.
Add authentication information to REQUEST based on the current value of *CREDENTIALS* and the contents of the request. Return the REQUEST object.
SINK-WRITE (OBJECT SINK)
Write OBJECT to SINK.
The string to sign for authentication.
Send REQUEST and return a response object, or signal an error if there's a problem with the response.
The vector to sign for authentication; should be used in preference to creating a string to sign if the string includes ASCII control codes like LF; otherwise defaults to an UTF-8 encoding of the string to sign.
ENSURE-PARAMETER (KEY VALUE REQUEST)
HEADER-VALUE (KEY HTTP-MESSAGE)
Return the value of the header named by KEY.
The The 'action' of a common query request.
The The parameters given to the 'action' of a common query request.
SETFACTION-PARAMETERS (NEW-VALUE OBJECT)
Set the The parameters given to the 'action' of a common query request.
The The API version of a request.
The The content (aka body) of OBJECT.
SETFCONTENT (NEW-VALUE OBJECT)
Set the The content (aka body) of OBJECT.
The The headers of OBJECT.
SETFHEADERS (NEW-VALUE OBJECT)
Set the The headers of OBJECT.
The The target host of the request.
The The HTTP method as a keyword, e.g. :GET, :POST, :PUT, etc.
The The protocol of the request as a string, e.g. "http" or "https".
The The HTTP reason phrase (e.g. "OK") of RESPONSE.
SETFREASON-PHRASE (NEW-VALUE OBJECT)
Set the The HTTP reason phrase (e.g. "OK") of RESPONSE.
The The HTTP status code of RESPONSE as an integer.
The The URI of OBJECT.
SETFURI (NEW-VALUE OBJECT)
Set the The URI of OBJECT.
SETFCONTENT-TYPE (NEW-VALUE OBJECT)
SETFPARAMETERS (NEW-VALUE REQUEST)
The credentials used for authenticating AWS requests. Built-in credentials can be a list, a pathname, or a string designating a pathname. For a list, the first two elements are used as the access key and secret key, and the third element, if present, is the session token. For a pathname, the first two lines of the file are the access key and secret key, and the third line, if present, is the session token.
Any class that uses this mixin will be automatically signed before submission.
Adding this class as a mixin to a request will automatically sign requests per the AWS Query Auth version 2 spec.
HTTP-MESSAGE is the parent class of both REQUESTs and RESPONSEs.