This is the cl-cheshire-cat Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 03:49:16 2024 GMT+0.
cl-cheshire-cat/cl-cheshire-cat.asd
cl-cheshire-cat/sources/package.lisp
cl-cheshire-cat/sources/utils.lisp
cl-cheshire-cat/sources/classes/singleton-class.lisp
cl-cheshire-cat/sources/classes/conditions.lisp
cl-cheshire-cat/sources/classes/two-steps-start-acceptor.lisp
cl-cheshire-cat/sources/classes/query-string.lisp
cl-cheshire-cat/sources/classes/rules.lisp
cl-cheshire-cat/sources/behavior.lisp
cl-cheshire-cat/sources/admin-handler.lisp
cl-cheshire-cat/sources/server.lisp
The main system appears first, followed by any subsystem dependency.
cl-cheshire-cat
Cheshire Cat HTTP Redirection Server
Mathieu Lemoine <mlemoine@mentel.com>
3-clause BSD
0.1
cl-ppcre
(system).
hunchentoot
(system).
cl-store
(system).
alexandria
(system).
usocket
(system).
split-sequence
(system).
cl-fad
(system).
sources
(module).
Modules are listed depth-first from the system components tree.
cl-cheshire-cat/sources
cl-cheshire-cat
(system).
package.lisp
(file).
utils.lisp
(file).
classes
(module).
behavior.lisp
(file).
admin-handler.lisp
(file).
server.lisp
(file).
cl-cheshire-cat/sources/classes
utils.lisp
(file).
sources
(module).
singleton-class.lisp
(file).
conditions.lisp
(file).
two-steps-start-acceptor.lisp
(file).
query-string.lisp
(file).
rules.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
cl-cheshire-cat/cl-cheshire-cat.asd
cl-cheshire-cat/sources/package.lisp
cl-cheshire-cat/sources/utils.lisp
cl-cheshire-cat/sources/classes/singleton-class.lisp
cl-cheshire-cat/sources/classes/conditions.lisp
cl-cheshire-cat/sources/classes/two-steps-start-acceptor.lisp
cl-cheshire-cat/sources/classes/query-string.lisp
cl-cheshire-cat/sources/classes/rules.lisp
cl-cheshire-cat/sources/behavior.lisp
cl-cheshire-cat/sources/admin-handler.lisp
cl-cheshire-cat/sources/server.lisp
cl-cheshire-cat/cl-cheshire-cat.asd
cl-cheshire-cat
(system).
cl-cheshire-cat/sources/utils.lisp
package.lisp
(file).
sources
(module).
compute-uri
(function).
ip-cidr-match-p
(function).
parse-cidr-list
(function).
parse-integer-or-nil
(function).
send-bad-request
(function).
cl-cheshire-cat/sources/classes/singleton-class.lisp
classes
(module).
initialize-instance
(method).
make-instance
(method).
reset-singleton-classes
(function).
singleton-class
(class).
validate-superclass
(method).
validate-superclass
(method).
validate-superclass
(method).
*singleton-classes*
(special variable).
cl-cheshire-cat/sources/classes/conditions.lisp
singleton-class.lisp
(file).
classes
(module).
qsu-match
(reader method).
qsu-name
(reader method).
qsu-operation
(reader method).
rr-kind
(reader method).
rr-match
(reader method).
rs-error
(condition).
rs-loop-detected
(condition).
rs-no-such-domain-rule
(condition).
rs-no-such-qs-update
(condition).
rs-no-such-rule
(condition).
rs-no-such-uri-rule
(condition).
urr-domain-name-rule
(reader method).
(setf urr-domain-name-rule)
(writer method).
cl-cheshire-cat/sources/classes/two-steps-start-acceptor.lisp
conditions.lisp
(file).
classes
(module).
start
(method).
start-listening
(method).
two-steps-start-acceptor
(class).
cl-cheshire-cat/sources/classes/query-string.lisp
two-steps-start-acceptor.lisp
(file).
classes
(module).
initialize-instance
(method).
internal-store-object
(method).
print-object
(method).
*qsu-generic-readers*
(special variable).
+qsu-code+
(special variable).
class<-qsu-operation
(function).
define-generic-qsu-reader
(macro).
make-query-string-update
(function).
qs-add
(class).
qs-clear
(class).
qs-delete
(class).
qs-rename
(class).
qs-update
(class).
qsu-key
(generic function).
qsu-match
(generic function).
qsu-matcher
(reader method).
qsu-name
(generic function).
qsu-new-name
(generic function).
qsu-operation
(method).
qsu-operation<-class
(function).
qsu-replacement
(generic function).
qsu-summary
(generic function).
qsu-value
(generic function).
query-string-update
(class).
unsummarize-query-string-update%
(function).
update-query-string
(generic function).
cl-cheshire-cat/sources/classes/rules.lisp
query-string.lisp
(file).
classes
(module).
drr-uri-rules
(reader method).
(setf drr-uri-rules)
(writer method).
initialize-instance
(method).
internal-store-object
(method).
internal-store-object
(method).
print-object
(method).
+domain-redirection-rule-code+
(special variable).
+uri-redirection-rule-code+
(special variable).
create-regex-matcher
(function).
domain-redirection-rule
(class).
drr-is-loop-p
(function).
redirection-rule
(class).
redirection-rule=
(function).
resolve-rr-matcher
(generic function).
rr-http-code
(reader method).
(setf rr-http-code)
(writer method).
(setf rr-http-code)
(method).
rr-key
(function).
rr-kind
(reader method).
(setf rr-kind)
(writer method).
(setf rr-kind)
(method).
rr-match
(reader method).
(setf rr-match)
(writer method).
(setf rr-match)
(method).
rr-matcher
(reader method).
rr-matching-p
(function).
rr-port
(reader method).
(setf rr-port)
(writer method).
rr-protocol
(reader method).
(setf rr-protocol)
(writer method).
rr-qs-updates
(reader method).
(setf rr-qs-updates)
(writer method).
rr-replacement
(reader method).
(setf rr-replacement)
(writer method).
(setf rr-replacement)
(method).
rr-summary
(generic function).
uri-redirection-rule
(class).
cl-cheshire-cat/sources/behavior.lisp
classes
(module).
sources
(module).
+default-domain-name-rule+
(special variable).
add-domain-name-rule
(macro).
add-qs-update
(function).
add-uri-rule
(function).
apply-default-domain-name-rule
(function).
apply-rules
(function).
compute-redirection
(function).
find-domain-name-rule
(function).
find-qs-update
(function).
find-uri-rule
(function).
merge-redirection-parameter
(function).
merge-redirection-parameters-list
(function).
remove-domain-name-rule
(macro).
remove-qs-update
(function).
remove-uri-rule
(function).
cl-cheshire-cat/sources/admin-handler.lisp
behavior.lisp
(file).
sources
(module).
admin-domain-name-rules-handler%
(function).
admin-handler
(function).
admin-query-string-handler%
(function).
admin-uri-rules-handler%
(function).
update-rule%
(function).
cl-cheshire-cat/sources/server.lisp
admin-handler.lisp
(file).
sources
(module).
acceptor-dispatch-request
(method).
acceptor-log-access
(method).
initialize-instance
(method).
preload-rules
(function).
redirection-acceptor
(class).
load-rules
(function).
redirection-acceptor-admin-allowed
(reader method).
(setf redirection-acceptor-admin-allowed)
(writer method).
redirection-acceptor-admin-host
(reader method).
(setf redirection-acceptor-admin-host)
(writer method).
redirection-acceptor-rules
(reader method).
(setf redirection-acceptor-rules)
(writer method).
redirection-acceptor-rules-directory
(reader method).
(setf redirection-acceptor-rules-directory)
(writer method).
(setf redirection-acceptor-rules-directory)
(method).
redirection-acceptor-rules-file
(reader method).
save-rules
(function).
Packages are listed by definition order.
cl-cheshire-cat
Cheshire Cat (HTTP Redirection Server) main package
cheshire
cheshire-cat
cl-cc
common-lisp
.
split-sequence
.
drr-uri-rules
(generic reader).
(setf drr-uri-rules)
(generic writer).
preload-rules
(function).
redirection-acceptor
(class).
*qsu-generic-readers*
(special variable).
+default-domain-name-rule+
(special variable).
+domain-redirection-rule-code+
(special variable).
+qsu-code+
(special variable).
+uri-redirection-rule-code+
(special variable).
add-domain-name-rule
(macro).
add-qs-update
(function).
add-uri-rule
(function).
admin-domain-name-rules-handler%
(function).
admin-handler
(function).
admin-query-string-handler%
(function).
admin-uri-rules-handler%
(function).
apply-default-domain-name-rule
(function).
apply-rules
(function).
class<-qsu-operation
(function).
compute-redirection
(function).
compute-uri
(function).
create-regex-matcher
(function).
define-generic-qsu-reader
(macro).
domain-redirection-rule
(class).
drr-is-loop-p
(function).
find-domain-name-rule
(function).
find-qs-update
(function).
find-uri-rule
(function).
ip-cidr-match-p
(function).
load-rules
(function).
make-query-string-update
(function).
merge-redirection-parameter
(function).
merge-redirection-parameters-list
(function).
parse-cidr-list
(function).
parse-integer-or-nil
(function).
qs-add
(class).
qs-clear
(class).
qs-delete
(class).
qs-rename
(class).
qs-update
(class).
qsu-key
(generic function).
qsu-match
(generic function).
qsu-matcher
(generic reader).
qsu-name
(generic function).
qsu-new-name
(generic function).
qsu-operation
(generic function).
qsu-operation<-class
(function).
qsu-replacement
(generic function).
qsu-summary
(generic function).
qsu-value
(generic function).
query-string-update
(class).
redirection-acceptor-admin-allowed
(generic reader).
(setf redirection-acceptor-admin-allowed)
(generic writer).
redirection-acceptor-admin-host
(generic reader).
(setf redirection-acceptor-admin-host)
(generic writer).
redirection-acceptor-rules
(generic reader).
(setf redirection-acceptor-rules)
(generic writer).
redirection-acceptor-rules-directory
(generic reader).
(setf redirection-acceptor-rules-directory)
(generic function).
redirection-acceptor-rules-file
(generic reader).
redirection-rule
(class).
redirection-rule=
(function).
remove-domain-name-rule
(macro).
remove-qs-update
(function).
remove-uri-rule
(function).
resolve-rr-matcher
(generic function).
rr-http-code
(generic reader).
(setf rr-http-code)
(generic function).
rr-key
(function).
rr-kind
(generic reader).
(setf rr-kind)
(generic function).
rr-match
(generic reader).
(setf rr-match)
(generic function).
rr-matcher
(generic reader).
rr-matching-p
(function).
rr-port
(generic reader).
(setf rr-port)
(generic writer).
rr-protocol
(generic reader).
(setf rr-protocol)
(generic writer).
rr-qs-updates
(generic reader).
(setf rr-qs-updates)
(generic writer).
rr-replacement
(generic reader).
(setf rr-replacement)
(generic function).
rr-summary
(generic function).
rs-error
(condition).
rs-loop-detected
(condition).
rs-no-such-domain-rule
(condition).
rs-no-such-qs-update
(condition).
rs-no-such-rule
(condition).
rs-no-such-uri-rule
(condition).
save-rules
(function).
send-bad-request
(function).
two-steps-start-acceptor
(class).
unsummarize-query-string-update%
(function).
update-query-string
(generic function).
update-rule%
(function).
uri-redirection-rule
(class).
urr-domain-name-rule
(generic reader).
(setf urr-domain-name-rule)
(generic writer).
org.tfeb.hax.singleton-classes
common-lisp
.
sb-mop
.
reset-singleton-classes
(function).
singleton-class
(class).
*singleton-classes*
(special variable).
Definitions are sorted by export status, category, package, and then by lexicographic order.
This function restore the list of rules from file and set them as the list of rules for this acceptor. It’s also registering the rule-file for future references.
domain-redirection-rule
)) ¶domain-redirection-rule
)) ¶List of URI redirection rules for the domain names matching this redirection rule.
redirection-acceptor
) request) ¶This request dispatcher processes each HTTP request and handle adequatly the request.
hunchentoot
.
redirection-acceptor
) &key return-code) ¶Adapted syntax for access log, just like the default, but include the host to.
hunchentoot
.
redirection-acceptor
) &rest initargs &key &allow-other-keys) ¶Ensures there is no error template directory.
redirection-rule
) &rest initargs &key &allow-other-keys) ¶Ensures the initialization of the <pre>matcher</pre> slot and the type of the http-code slot.
qs-update
) &rest initargs &key &allow-other-keys) ¶Creates the regex matcher.
singleton-class
) &key) ¶cl-store
) (rule query-string-update
) stream) ¶Definition for storing an object of type QUERY-STRING-UPDATE with backend CL-STORE
cl-store
.
cl-store
) (rule domain-redirection-rule
) stream) ¶Definition for storing an object of type DOMAIN-REDIRECTION-RULE with backend CL-STORE
cl-store
.
cl-store
) (rule uri-redirection-rule
) stream) ¶Definition for storing an object of type URI-REDIRECTION-RULE with backend CL-STORE
cl-store
.
singleton-class
) &key) ¶query-string-update
) stream) ¶Print a meaningful summarized representation of redirection rules. Redirection rules are not readably printable.
redirection-rule
) stream) ¶Print a meaningful summarized representation of redirection rules. Redirection rules are not readably printable.
two-steps-start-acceptor
)) ¶If the first step was not run yet, run it. Then start the acceptor taskmaster. Inspired from hunchentoot default implementation.
hunchentoot
.
two-steps-start-acceptor
)) ¶Remove the shutdown state from the acceptor before starting to listen
hunchentoot
.
standard-class
) (superclass singleton-class
)) ¶sb-mop
.
singleton-class
) (superclass singleton-class
)) ¶sb-mop
.
singleton-class
) (superclass standard-class
)) ¶sb-mop
.
Custom hunchentoot:acceptor implementing the behavior of the redirection server.
acceptor-dispatch-request
.
acceptor-log-access
.
initialize-instance
.
(setf redirection-acceptor-admin-allowed)
.
redirection-acceptor-admin-allowed
.
(setf redirection-acceptor-admin-host)
.
redirection-acceptor-admin-host
.
(setf redirection-acceptor-rules)
.
redirection-acceptor-rules
.
(setf redirection-acceptor-rules-directory)
.
(setf redirection-acceptor-rules-directory)
.
redirection-acceptor-rules-directory
.
redirection-acceptor-rules-file
.
The domain name used to manage this redirection acceptor.
string
"management.invalid"
:admin-host
A list of CIDR block specifications. Each item
of this list is a pair (IP prefix-length). IP is recommended
to a string using the decimal dotted notation but could also
be an host order 32 bytes integer or an host order byte
vector.
list
(quote (("127.0.0.1")))
:admin-allowed
The list of redirection rules used by this acceptor.
list
(quote nil)
The directory in which rules will be
stored. Only the default rule file can be out of this
directory.
pathname
:rule-directory
The default file used to store the
rules. This is set when loading the rules from the file.
string
This slot is read-only.
standard-class
.
List of query string update generic readers
Domain name rule with default behaviour. This should be treated as a constant, If the object, value or binding is modified behaviour is undefined.
cl-store type-code for domain name redirection rules.
cl-store type-code for query string updates.
cl-store type-code for URI redirection rules.
This macro adds <pre>rule</pre> (applying to domaine names) in <pre>rules</pre>. <pre>position</pre> is the position at which the rule will be inserted in <pre>rules</pre>. If <pre>position</pre> is nil or unspecified, <pre>rule</pre> will be inserted at the begining of <pre>rules</pre>.
Create a generic function and an associated method for query-string-update. This allow every reader to be used with any instance of query-string-update.
This macro removes the rule from <pre>rule</pre> with matching <pre>kind</pre> and <pre>match</pre>. <pre>rule</pre> must match exactly. If no such rule is found, returns silently.
This function add a new query string update operation to a redirection rule. <pre>position</pre> is the position at which the rule will be inserted in <pre>rules</pre>. If <pre>position</pre> is nil or unspecified, <pre>rule</pre> will be inserted at the begining of <pre>rules</pre>.
This function adds <pre>rule</pre> (applying to URIs) to <pre>domain-redirection-rule</pre>. <pre>position</pre> is the position at which the rule will be inserted in <pre>rules</pre>. If <pre>position</pre> is nil or unspecified, <pre>rule</pre> will be inserted at the begining of <pre>rules</pre>.
Handler for domain name rules management
Management handler.
Handler for query-string operation
Handler for URI rules management.
This function applies the default domain name redirection: if the domain-name does not start with a "www.",returns a permanent redirect to the same URL prepended with "www.", raise a rs-loop-detected condition otherwise.
This function looks through the list of rules to find a matching rule for
<pre>target-string</pre>. The three returns values are:
* Whether a rule was find or not,
* The rewritten target string,
* The matching rule.
If no such rule is found, all three values are nil.
Returns the class corresponding to this query-string operation.
This function computes the actual value of the redirection for this domain-name and URI, following this set of rules. It return the list (new-domain-name new-uri . redirection-parameters)
Append each parameter in the query string to the path. path is expected not to have any query-string.
This function creates the matcher for a rule based on a regex.
Check if the domain name rule effect is empty, thus resulting in a loop.
This function returns the domain name rule with matching <pre>kind</pre> and <pre>match</pre> in <pre>rules</pre> or nil if none was found. if <pre>error-p</pre> is true, an error of type <pre>rs-no-such-domain-rule</pre> is raised instead.
This function returns the query string update designated by operation name and match.
This function returns the URI rule with matching <pre>kind</pre> and <pre>match</pre> in <pre>domain-redirection-rule</pre> or nil if none was found. if <pre>error-p</pre> is true, an error of type <pre>rs-no-such-uri-rule</pre> is raised instead.
Check if both IPs are in the same network with respect to this CIDR prefix-length.
Each IPs can be either:
* 32-bit positive integer (host order),
* a four element integer list representing IPv4 address, i.e. #(127 0 0 1),
* a string containing an IP addres in dotted notation.
For example, to check A.B.C.D against a.b.c.d/n, this function could be invoked as (ip-cidr-match-p #(A B C D) #(a b c d) n).
Save all the rules in mentioned file.
Generic generation of a query string update. <pre>operation</pre> must be one of :clear, :add, :rename or :update and initargs is the list of initargs for the qs-{operation} class.
This function merges a set parameters (return the last non-null one).
This function merges a list of parameters from a list of rules.
For each element of parameter-readers, a parameter is extracted from each rule
and the last one non-null is returned.
Parse a comma-separated list of IPv4 CIDR specifications (such as "a.b.c.d/n, e.f.g.h/m"). The CIDR prefix may be omited. Return a list of CIDR specification, each being of the form (IP prefix-length).
Just like parse-integer, but if string is nil, returns (values nil nil) instead of throwing an error.
Returns the query-string operation corresponding to this class.
This function checks whether two redirection rules are equals.
This function removes the query string update designated by operation name and match.
This macro removes the rule from <pre>rule</pre> with matching <pre>kind</pre> and <pre>match</pre>. <pre>rule</pre> must match exactly. If no such rule is found, returns silently.
This function returns the pair (kind match) for this rule.
This function checks whether a redirection rule is matching for this haystack.
Save all the rules in mentioned file.
Error handling, abort the URL processing to signal an error to the client.
Return the list of arguments to give to make-instance to recreate a similar query-string-update.
Updates a rule, each update spec should be ("new-{ATTRIBUTE}" . "{NEW-VALUE}").
Return the information required to identify this
update. Usually a list of the form (operation &optional name match)
Default method returns (operation name).
Generic query string update reader for MATCH.
qs-update
)) ¶Regex to match the old value of the parameter
query-string-update
)) ¶Default value for MATCH reader.
rs-no-such-qs-update
)) ¶Generic query string update reader for NAME.
qs-delete
)) ¶Name of the parameter to delete.
name
.
qs-update
)) ¶Name of the parameter to update.
name
.
qs-rename
)) ¶Name of the parameter to rename (old name).
name
.
query-string-update
)) ¶Default value for NAME reader.
rs-no-such-qs-update
)) ¶name
.
Generic query string update reader for NEW-NAME.
qs-rename
)) ¶New name for the parameter to rename.
query-string-update
)) ¶Default value for NEW-NAME reader.
Returns the operation of this update.
rs-no-such-qs-update
)) ¶Generic query string update reader for REPLACEMENT.
qs-update
)) ¶Replacement string to generate the new value of the parameter
query-string-update
)) ¶Default value for REPLACEMENT reader.
This method converts the redirection rule to the alist ((:operation . operation) params)
Generic query string update reader for VALUE.
qs-add
)) ¶Value of the parameter to create. If the value
is :path or :domain, the corresponding part of the URL will be used as the
value.
query-string-update
)) ¶Default value for VALUE reader.
redirection-acceptor
)) ¶redirection-acceptor
)) ¶A list of CIDR block specifications. Each item
of this list is a pair (IP prefix-length). IP is recommended
to a string using the decimal dotted notation but could also
be an host order 32 bytes integer or an host order byte
vector.
redirection-acceptor
)) ¶redirection-acceptor
)) ¶The domain name used to manage this redirection acceptor.
redirection-acceptor
)) ¶redirection-acceptor
)) ¶The list of redirection rules used by this acceptor.
redirection-acceptor
)) ¶The directory in which rules will be
stored. Only the default rule file can be out of this
directory.
redirection-acceptor
)) ¶Ensures the directory is a directory with no name and the crr type.
redirection-acceptor
)) ¶The directory in which rules will be
stored. Only the default rule file can be out of this
directory.
redirection-acceptor
)) ¶The default file used to store the
rules. This is set when loading the rules from the file.
This function update the <pre>matcher</pre> slot of <pre>rule</pre> so <pre>rr-matching-p</pre> can be used. It is the only function allowed to modify the <pre>matcher</pre> slot
domain-redirection-rule
)) ¶This function updates the <pre>matcher</pre> slot for a domain name redirection rule.
uri-redirection-rule
)) ¶This function updates the <pre>matcher</pre> slot for a URI redirection rule.
redirection-rule
)) ¶The HTTP Status Code sent when this
rule is applied. Can be overwritten by a subsequent
rule.
redirection-rule
)) ¶Ensures the type of the http-code slot.
redirection-rule
)) ¶The HTTP Status Code sent when this
rule is applied. Can be overwritten by a subsequent
rule.
redirection-rule
)) ¶A selector for the matching alogrithm used for this rule.
kind
.
rs-no-such-rule
)) ¶kind
.
redirection-rule
)) ¶Ensures that every modification of the <pre>kind</pre> slot is updating the <pre>matcher</pre> slot.
kind
.
redirection-rule
)) ¶A selector for the matching alogrithm used for this rule.
redirection-rule
)) ¶The matching pattern used for this rule.
rs-no-such-rule
)) ¶redirection-rule
)) ¶Ensures that every modification of the <pre>match</pre> slot is updating the <pre>matcher</pre> slot.
redirection-rule
)) ¶The matching pattern used for this rule.
redirection-rule
)) ¶The matching closure implementing this
rule matching algorithm and performing the
replacement.
redirection-rule
)) ¶redirection-rule
)) ¶Port to use for the
redirection. Default depends on the protocol
port
.
redirection-rule
)) ¶redirection-rule
)) ¶The protocol to use after
redirection (HTTP or HTTPS)
redirection-rule
)) ¶redirection-rule
)) ¶List of query string update performed
when this rule match.
redirection-rule
)) ¶The replacement specification for this
string. If it’s null, this rule does not modify its
target-string.
redirection-rule
)) ¶Ensures that every modification of the <pre>replacement</pre> slot is updating the <pre>matcher</pre> slot.
redirection-rule
)) ¶The replacement specification for this
string. If it’s null, this rule does not modify its
target-string.
This method converts the redirection rule to the list (kind match replacement . options)
domain-redirection-rule
) &key serialize) ¶This method adds the list of uri rules in the case of serialization.
This method converts the redirection rule to the list (kind match replacement http-code)
This function (destructively) updates query-string to apply
the specified query-string update. query-string is expected to be an alist of
get parameters.
qs-delete
) query-string domain-name path) ¶This method deletes a query string parameter. If there are several query string parameters with this name, only the first one is deleted. If there is no such parameter, do nothing.
qs-update
) query-string domain-name path) ¶This method updates the value of a parameter using a regex replacement. If there are several query string parameters with this name, only the first one is renamed. If there is no such parameter, do nothing.
qs-rename
) query-string domain-name path) ¶This method renames a query string parameter. If there are several query string parameters with this name, only the first one is renamed. If there is no such parameter, do nothing.
rs-no-such-uri-rule
)) ¶rs-no-such-uri-rule
)) ¶Root condition for redirection server errors.
error
.
Error raised if a loop is detected by the redirection
engine. If not caught, this loop will make the server reply with a "404 Not
Found".
Error raised if a domain name rule cannot be found.
Error raised if a query string update cannot be found.
:operation
This slot is read-only.
Error raised if a rule cannot be found.
Error raised if an URI rule cannot be found.
:domain-name-rule
Class for redirection rules applied to domain names.
List of URI redirection rules for the domain names matching this redirection rule.
list
Add a new parameter at the beginning the query string.
Name of the parameter to create.
string
:name
This slot is read-only.
Clear the query string. Since this class has no state nor parameters, it’s a singleton.
Remove a parameter from the query string.
Rename the parameter in the query string.
Name of the parameter to rename (old name).
string
:name
This slot is read-only.
New name for the parameter to rename.
string
:new-name
This slot is read-only.
Use a regex to modify the value of a parameter in the query string.
Name of the parameter to update.
string
:name
This slot is read-only.
Regex to match the old value of the parameter
string
:match
This slot is read-only.
Replacement string to generate the new value of the parameter
string
:replacement
This slot is read-only.
Compiled regex matcher
This slot is read-only.
Root class for Query String operations.
Root class for redirection rules.
initialize-instance
.
print-object
.
(setf rr-http-code)
.
(setf rr-http-code)
.
rr-http-code
.
(setf rr-kind)
.
(setf rr-kind)
.
rr-kind
.
(setf rr-match)
.
(setf rr-match)
.
rr-match
.
rr-matcher
.
(setf rr-port)
.
rr-port
.
(setf rr-protocol)
.
rr-protocol
.
(setf rr-qs-updates)
.
rr-qs-updates
.
(setf rr-replacement)
.
(setf rr-replacement)
.
rr-replacement
.
A selector for the matching alogrithm used for this rule.
keyword
:kind
The matching pattern used for this rule.
(or string list)
:match
The matching closure implementing this
rule matching algorithm and performing the
replacement.
(function (string) (values t string))
(lambda (cl-cheshire-cat::str) (declare (ignore cl-cheshire-cat::str)) (error "not implemented."))
This slot is read-only.
The replacement specification for this
string. If it’s null, this rule does not modify its
target-string.
(or string null)
:replacement
The HTTP Status Code sent when this
rule is applied. Can be overwritten by a subsequent
rule.
(or null (integer 300 399))
:http-code
The protocol to use after
redirection (HTTP or HTTPS)
(or null (member :http :https))
:protocol
Port to use for the
redirection. Default depends on the protocol
(or null unsigned-byte)
:port
List of query string update performed
when this rule match.
list
(quote nil)
This acceptor implementation allow a two-step start: 1. the
first step ‘start-listening‘ starts the socket without starting to accept
connections 2. the second setp ‘start‘ starts to accept connection This system
allow for example to daemonize the process and drop privileges before starting
to accept connections.
acceptor
.
Class for redirection rules applied to URIs (path part of the URL, no query-string).
Jump to: | (
A C D F G I L M P Q R S U V |
---|
Jump to: | (
A C D F G I L M P Q R S U V |
---|
Jump to: | *
+
A D H I K M N O P Q R S U V |
---|
Jump to: | *
+
A D H I K M N O P Q R S U V |
---|
Jump to: | A B C D F M O P Q R S T U |
---|
Jump to: | A B C D F M O P Q R S T U |
---|