The yxorp Reference Manual
Table of Contents
The yxorp Reference Manual
This is the yxorp Reference Manual, version 0.5,
generated automatically by Declt version 3.0 "Montgomery Scott"
on Sun May 15 04:20:23 2022 GMT+0.
1 Systems
The main system appears first, followed by any subsystem dependency.
1.1 yxorp
- Author
Charles Jackson <charles.b.jackson@protonmail.com>
- License
AGPL3
- Description
A reverse proxy server that supports WebSocket, HTTP, HTTPS,
HTTP to HTTPS redirecting, port and host forwarding configuration using a real
programming language, HTTP header and body manipulation (also using a real
programming language).
- Version
0.5
- Dependencies
- binding-arrows
- chipz
- chunga
- cl+ssl
- flexi-streams
- rutils
- salza2
- str
- trivial-garbage
- usocket
- usocket-server
- Source
yxorp.asd (file)
- Components
-
2 Files
Files are sorted by type and then listed depth-first from the systems
components trees.
2.1 Lisp
2.1.1 yxorp.asd
- Location
yxorp.asd
- Systems
yxorp (system)
2.1.2 yxorp/package.lisp
- Parent
yxorp (system)
- Location
package.lisp
- Packages
-
2.1.3 yxorp/threads.lisp
- Dependency
package.lisp (file)
- Parent
yxorp (system)
- Location
threads.lisp
- Exported Definitions
-
- Internal Definitions
-
2.1.4 yxorp/coding.lisp
- Dependency
threads.lisp (file)
- Parent
yxorp (system)
- Location
coding.lisp
- Internal Definitions
-
2.1.5 yxorp/utils.lisp
- Dependency
coding.lisp (file)
- Parent
yxorp (system)
- Location
utils.lisp
- Exported Definitions
-
- Internal Definitions
-
2.1.6 yxorp/config.lisp
- Dependency
utils.lisp (file)
- Parent
yxorp (system)
- Location
config.lisp
- Exported Definitions
-
- Internal Definitions
-
2.1.7 yxorp/main.lisp
- Dependency
config.lisp (file)
- Parent
yxorp (system)
- Location
main.lisp
- Exported Definitions
-
- Internal Definitions
-
3 Packages
Packages are listed by definition order.
3.1 yxorp
- Source
package.lisp (file)
- Use List
common-lisp
- Used By List
yxorp-config
- Exported Definitions
-
- Internal Definitions
-
3.2 yxorp-config
- Source
package.lisp (file)
- Use List
- binding-arrows
- yxorp
- common-lisp
4 Definitions
Definitions are sorted by export status, category, package, and then by
lexicographic order.
4.1 Exported definitions
4.1.1 Special variables
-
- Package
yxorp
- Source
utils.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
- Special Variable: *suppress-errors*
-
- Package
yxorp
- Source
main.lisp (file)
4.1.2 Functions
- Function: config &key (PORT PORT) (DESTINATOR DESTINATOR) (REQUEST-FILTER REQUEST-FILTER) (RESPONSE-FILTER RESPONSE-FILTER) (SSL SSL)
-
- Package
yxorp
- Source
config.lisp (file)
- Function: destination-parts DESTINATION
-
- Package
yxorp
- Source
config.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
-
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: map-threads FUNCTION
-
- Package
yxorp
- Source
threads.lisp (file)
- Function: read-body STREAM FILTER
-
Read an http body from STREAM and run it throught FILTER.
- Package
yxorp
- Source
utils.lisp (file)
- Function: read-config FILE
-
- Package
yxorp
- Source
config.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: ssl-config &key (CERTIFICATE CERTIFICATE) (KEY KEY) (PASSWORD PASSWORD) (REDIRECT-PORT REDIRECT-PORT) (REDIRECT-TO REDIRECT-TO)
-
- Package
yxorp
- Source
config.lisp (file)
- Function: start CONFIG &aux CONFIG
-
- Package
yxorp
- Source
main.lisp (file)
- Function: stop ()
-
- Package
yxorp
- Source
main.lisp (file)
- Function: track-thread THREAD
-
- Package
yxorp
- Source
threads.lisp (file)
- Function: valid-destination-p DESTINATION
-
- Package
yxorp
- Source
config.lisp (file)
- Function: websocket-p ()
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: write-body-and-headers BODY STREAM
-
- Package
yxorp
- Source
utils.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
4.1.3 Structures
- Structure: config ()
-
- Package
yxorp
- Source
config.lisp (file)
- Direct superclasses
structure-object (structure)
- Direct slots
- Slot: port
-
- Type
yxorp:port
- Initform
8080
- Readers
config-port (function)
- Writers
(setf config-port) (function)
- Slot: destinator
-
- Type
(or (function nil yxorp:destination) symbol)
- Initform
(lambda nil 8081)
- Readers
config-destinator (function)
- Writers
(setf config-destinator) (function)
- Slot: request-filter
-
- Type
(or (function (string) string) symbol)
- Initform
(lambda (yxorp::body) yxorp::body)
- Readers
config-request-filter (function)
- Writers
(setf config-request-filter) (function)
- Slot: response-filter
-
- Type
(or (function (string) string) symbol)
- Initform
(lambda (yxorp::body) yxorp::body)
- Readers
config-response-filter (function)
- Writers
(setf config-response-filter) (function)
- Slot: ssl
-
- Type
(or yxorp:ssl-config null)
- Readers
config-ssl (function)
- Writers
(setf config-ssl) (function)
- Structure: ssl-config ()
-
- Package
yxorp
- Source
config.lisp (file)
- Direct superclasses
structure-object (structure)
- Direct slots
- Slot: certificate
-
- Type
(or pathname string)
- Initform
"cert.pem"
- Readers
ssl-config-certificate (function)
- Writers
(setf ssl-config-certificate) (function)
- Slot: key
-
- Type
(or pathname string)
- Initform
"key.pem"
- Readers
ssl-config-key (function)
- Writers
(setf ssl-config-key) (function)
- Slot: password
-
- Type
(or string null)
- Readers
ssl-config-password (function)
- Writers
(setf ssl-config-password) (function)
- Slot: redirect-port
-
- Type
(or yxorp:port null)
- Readers
ssl-config-redirect-port (function)
- Writers
(setf ssl-config-redirect-port) (function)
- Slot: redirect-to
-
- Type
yxorp:port
- Initform
443
- Readers
ssl-config-redirect-to (function)
- Writers
(setf ssl-config-redirect-to) (function)
4.1.4 Types
- Type: destination ()
-
- Package
yxorp
- Source
config.lisp (file)
- Type: port ()
-
- Package
yxorp
- Source
config.lisp (file)
4.2 Internal definitions
4.2.1 Special variables
- Special Variable: *threads*
-
- Package
yxorp
- Source
threads.lisp (file)
- Special Variable: *threads*-lock
-
- Package
yxorp
- Source
threads.lisp (file)
- Special Variable: +crlf+
-
- Package
yxorp
- Source
utils.lisp (file)
4.2.2 Macros
- Macro: with-socket-handler-case STREAM &body BODY
-
- Package
yxorp
- Source
main.lisp (file)
4.2.3 Functions
-
- Package
yxorp
- Source
utils.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: apply-decoding STREAM ENCODING
-
- Package
yxorp
- Source
coding.lisp (file)
- Function: apply-decodings STREAM DECODINGS
-
- Package
yxorp
- Source
coding.lisp (file)
- Function: apply-encoding STREAM ENCODING
-
- Package
yxorp
- Source
coding.lisp (file)
- Function: apply-encodings STREAM ENCODINGS
-
- Package
yxorp
- Source
coding.lisp (file)
- Function: config-destinator INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: config-p OBJECT
-
- Package
yxorp
- Source
config.lisp (file)
- Function: config-port INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: config-request-filter INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: config-response-filter INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: config-ssl INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: copy-config INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: copy-ssl-config INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: decode-chunked STREAM
-
- Package
yxorp
- Source
coding.lisp (file)
- Function: encodingp THING
-
- Package
yxorp
- Source
coding.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: filter-encodings HEADERS
-
- Package
yxorp
- Source
main.lisp (file)
- Function: forward-stream ORIGIN DESTINATION
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: http-handler CLIENT SERVER CONFIG
-
- Package
yxorp
- Source
main.lisp (file)
- Function: main &aux ARGS
-
- Package
yxorp
- Source
main.lisp (file)
- Function: make-keyword NAME
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: make-ssl-stream STREAM CONFIG
-
- Package
yxorp
- Source
utils.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: proxy-handler CLIENT CONFIG
-
- Package
yxorp
- Source
main.lisp (file)
- Function: read-sequence* STREAM
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: save-ip HEADERS
-
- Package
yxorp
- Source
main.lisp (file)
-
- Package
yxorp
- Source
utils.lisp (file)
- Function: ssl-config-certificate INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: ssl-config-key INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: ssl-config-p OBJECT
-
- Package
yxorp
- Source
config.lisp (file)
- Function: ssl-config-password INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: ssl-config-redirect-port INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: ssl-config-redirect-to INSTANCE
-
- Package
yxorp
- Source
config.lisp (file)
- Function: ssl-redirect CLIENT CONFIG
-
- Package
yxorp
- Source
main.lisp (file)
- Function: websocket-handler CLIENT SERVER
-
- Package
yxorp
- Source
main.lisp (file)
4.2.4 Types
- Type: encoding ()
-
- Package
yxorp
- Source
coding.lisp (file)
Appendix A Indexes
A.1 Concepts
| Index Entry | | Section |
|
F | | |
| File, Lisp, yxorp.asd: | | The yxorp․asd file |
| File, Lisp, yxorp/coding.lisp: | | The yxorp/coding․lisp file |
| File, Lisp, yxorp/config.lisp: | | The yxorp/config․lisp file |
| File, Lisp, yxorp/main.lisp: | | The yxorp/main․lisp file |
| File, Lisp, yxorp/package.lisp: | | The yxorp/package․lisp file |
| File, Lisp, yxorp/threads.lisp: | | The yxorp/threads․lisp file |
| File, Lisp, yxorp/utils.lisp: | | The yxorp/utils․lisp file |
|
L | | |
| Lisp File, yxorp.asd: | | The yxorp․asd file |
| Lisp File, yxorp/coding.lisp: | | The yxorp/coding․lisp file |
| Lisp File, yxorp/config.lisp: | | The yxorp/config․lisp file |
| Lisp File, yxorp/main.lisp: | | The yxorp/main․lisp file |
| Lisp File, yxorp/package.lisp: | | The yxorp/package․lisp file |
| Lisp File, yxorp/threads.lisp: | | The yxorp/threads․lisp file |
| Lisp File, yxorp/utils.lisp: | | The yxorp/utils․lisp file |
|
Y | | |
| yxorp.asd: | | The yxorp․asd file |
| yxorp/coding.lisp: | | The yxorp/coding․lisp file |
| yxorp/config.lisp: | | The yxorp/config․lisp file |
| yxorp/main.lisp: | | The yxorp/main․lisp file |
| yxorp/package.lisp: | | The yxorp/package․lisp file |
| yxorp/threads.lisp: | | The yxorp/threads․lisp file |
| yxorp/utils.lisp: | | The yxorp/utils․lisp file |
|
A.2 Functions
| Index Entry | | Section |
|
% | | |
| %parse-request-headers : | | Internal functions |
| %parse-response-headers : | | Internal functions |
|
( | | |
| (setf header) : | | Exported functions |
|
A | | |
| apply-decoding : | | Internal functions |
| apply-decodings : | | Internal functions |
| apply-encoding : | | Internal functions |
| apply-encodings : | | Internal functions |
|
C | | |
| config : | | Exported functions |
| config-destinator : | | Internal functions |
| config-p : | | Internal functions |
| config-port : | | Internal functions |
| config-request-filter : | | Internal functions |
| config-response-filter : | | Internal functions |
| config-ssl : | | Internal functions |
| copy-config : | | Internal functions |
| copy-ssl-config : | | Internal functions |
|
D | | |
| decode-chunked : | | Internal functions |
| destination-parts : | | Exported functions |
|
E | | |
| encodingp : | | Internal functions |
| extract-charset : | | Exported functions |
| extract-encodings-from : | | Internal functions |
|
F | | |
| filter-encodings : | | Internal functions |
| forward-stream : | | Internal functions |
| Function, %parse-request-headers : | | Internal functions |
| Function, %parse-response-headers : | | Internal functions |
| Function, (setf header) : | | Exported functions |
| Function, apply-decoding : | | Internal functions |
| Function, apply-decodings : | | Internal functions |
| Function, apply-encoding : | | Internal functions |
| Function, apply-encodings : | | Internal functions |
| Function, config : | | Exported functions |
| Function, config-destinator : | | Internal functions |
| Function, config-p : | | Internal functions |
| Function, config-port : | | Internal functions |
| Function, config-request-filter : | | Internal functions |
| Function, config-response-filter : | | Internal functions |
| Function, config-ssl : | | Internal functions |
| Function, copy-config : | | Internal functions |
| Function, copy-ssl-config : | | Internal functions |
| Function, decode-chunked : | | Internal functions |
| Function, destination-parts : | | Exported functions |
| Function, encodingp : | | Internal functions |
| Function, extract-charset : | | Exported functions |
| Function, extract-encodings-from : | | Internal functions |
| Function, filter-encodings : | | Internal functions |
| Function, forward-stream : | | Internal functions |
| Function, header : | | Exported functions |
| Function, http-handler : | | Internal functions |
| Function, main : | | Internal functions |
| Function, make-keyword : | | Internal functions |
| Function, make-ssl-stream : | | Internal functions |
| Function, map-threads : | | Exported functions |
| Function, parse-header-line : | | Internal functions |
| Function, parse-request-headers : | | Internal functions |
| Function, parse-response-headers : | | Internal functions |
| Function, proxy-handler : | | Internal functions |
| Function, read-body : | | Exported functions |
| Function, read-config : | | Exported functions |
| Function, read-headers : | | Exported functions |
| Function, read-sequence* : | | Internal functions |
| Function, save-ip : | | Internal functions |
| Function, serialize-headers : | | Internal functions |
| Function, ssl-config : | | Exported functions |
| Function, ssl-config-certificate : | | Internal functions |
| Function, ssl-config-key : | | Internal functions |
| Function, ssl-config-p : | | Internal functions |
| Function, ssl-config-password : | | Internal functions |
| Function, ssl-config-redirect-port : | | Internal functions |
| Function, ssl-config-redirect-to : | | Internal functions |
| Function, ssl-redirect : | | Internal functions |
| Function, start : | | Exported functions |
| Function, stop : | | Exported functions |
| Function, track-thread : | | Exported functions |
| Function, valid-destination-p : | | Exported functions |
| Function, websocket-handler : | | Internal functions |
| Function, websocket-p : | | Exported functions |
| Function, write-body-and-headers : | | Exported functions |
| Function, write-headers : | | Exported functions |
|
H | | |
| header : | | Exported functions |
| http-handler : | | Internal functions |
|
M | | |
| Macro, with-socket-handler-case : | | Internal macros |
| main : | | Internal functions |
| make-keyword : | | Internal functions |
| make-ssl-stream : | | Internal functions |
| map-threads : | | Exported functions |
|
P | | |
| parse-header-line : | | Internal functions |
| parse-request-headers : | | Internal functions |
| parse-response-headers : | | Internal functions |
| proxy-handler : | | Internal functions |
|
R | | |
| read-body : | | Exported functions |
| read-config : | | Exported functions |
| read-headers : | | Exported functions |
| read-sequence* : | | Internal functions |
|
S | | |
| save-ip : | | Internal functions |
| serialize-headers : | | Internal functions |
| ssl-config : | | Exported functions |
| ssl-config-certificate : | | Internal functions |
| ssl-config-key : | | Internal functions |
| ssl-config-p : | | Internal functions |
| ssl-config-password : | | Internal functions |
| ssl-config-redirect-port : | | Internal functions |
| ssl-config-redirect-to : | | Internal functions |
| ssl-redirect : | | Internal functions |
| start : | | Exported functions |
| stop : | | Exported functions |
|
T | | |
| track-thread : | | Exported functions |
|
V | | |
| valid-destination-p : | | Exported functions |
|
W | | |
| websocket-handler : | | Internal functions |
| websocket-p : | | Exported functions |
| with-socket-handler-case : | | Internal macros |
| write-body-and-headers : | | Exported functions |
| write-headers : | | Exported functions |
|
A.3 Variables
| Index Entry | | Section |
|
* | | |
| *headers* : | | Exported special variables |
| *integer-headers* : | | Exported special variables |
| *request-headers* : | | Exported special variables |
| *response-headers* : | | Exported special variables |
| *suppress-errors* : | | Exported special variables |
| *threads* : | | Internal special variables |
| *threads*-lock : | | Internal special variables |
|
+ | | |
| +crlf+ : | | Internal special variables |
|
C | | |
| certificate : | | Exported structures |
|
D | | |
| destinator : | | Exported structures |
|
K | | |
| key : | | Exported structures |
|
P | | |
| password : | | Exported structures |
| port : | | Exported structures |
|
R | | |
| redirect-port : | | Exported structures |
| redirect-to : | | Exported structures |
| request-filter : | | Exported structures |
| response-filter : | | Exported structures |
|
S | | |
| Slot, certificate : | | Exported structures |
| Slot, destinator : | | Exported structures |
| Slot, key : | | Exported structures |
| Slot, password : | | Exported structures |
| Slot, port : | | Exported structures |
| Slot, redirect-port : | | Exported structures |
| Slot, redirect-to : | | Exported structures |
| Slot, request-filter : | | Exported structures |
| Slot, response-filter : | | Exported structures |
| Slot, ssl : | | Exported structures |
| Special Variable, *headers* : | | Exported special variables |
| Special Variable, *integer-headers* : | | Exported special variables |
| Special Variable, *request-headers* : | | Exported special variables |
| Special Variable, *response-headers* : | | Exported special variables |
| Special Variable, *suppress-errors* : | | Exported special variables |
| Special Variable, *threads* : | | Internal special variables |
| Special Variable, *threads*-lock : | | Internal special variables |
| Special Variable, +crlf+ : | | Internal special variables |
| ssl : | | Exported structures |
|
A.4 Data types