The yxorp Reference Manual

Table of Contents

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

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.


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

1 Systems

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


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

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
Source

yxorp.asd (file)

Components

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

2 Files

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


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

2.1 Lisp


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

2.1.1 yxorp.asd

Location

yxorp.asd

Systems

yxorp (system)


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

2.1.2 yxorp/package.lisp

Parent

yxorp (system)

Location

package.lisp

Packages

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

2.1.3 yxorp/threads.lisp

Dependency

package.lisp (file)

Parent

yxorp (system)

Location

threads.lisp

Exported Definitions
Internal Definitions

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

2.1.4 yxorp/coding.lisp

Dependency

threads.lisp (file)

Parent

yxorp (system)

Location

coding.lisp

Internal Definitions

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

2.1.5 yxorp/utils.lisp

Dependency

coding.lisp (file)

Parent

yxorp (system)

Location

utils.lisp

Exported Definitions
Internal Definitions

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

2.1.6 yxorp/config.lisp

Dependency

utils.lisp (file)

Parent

yxorp (system)

Location

config.lisp

Exported Definitions
Internal Definitions

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

2.1.7 yxorp/main.lisp

Dependency

config.lisp (file)

Parent

yxorp (system)

Location

main.lisp

Exported Definitions
Internal Definitions

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

3 Packages

Packages are listed by definition order.


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

3.1 yxorp

Source

package.lisp (file)

Use List

common-lisp

Used By List

yxorp-config

Exported Definitions
Internal Definitions

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

3.2 yxorp-config

Source

package.lisp (file)

Use List

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

4 Definitions

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


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

4.1 Exported definitions


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

4.1.1 Special variables

Special Variable: *headers*
Package

yxorp

Source

utils.lisp (file)

Special Variable: *integer-headers*
Package

yxorp

Source

utils.lisp (file)

Special Variable: *request-headers*
Package

yxorp

Source

utils.lisp (file)

Special Variable: *response-headers*
Package

yxorp

Source

utils.lisp (file)

Special Variable: *suppress-errors*
Package

yxorp

Source

main.lisp (file)


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

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)

Function: extract-charset ()
Package

yxorp

Source

utils.lisp (file)

Function: header NAME &optional HEADERS
Function: (setf header) NEW-VALUE NAME &aux HEADERS
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)

Function: read-headers STREAM
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)

Function: write-headers STREAM
Package

yxorp

Source

utils.lisp (file)


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

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)


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

4.1.4 Types

Type: destination ()
Package

yxorp

Source

config.lisp (file)

Type: port ()
Package

yxorp

Source

config.lisp (file)


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

4.2 Internal definitions


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

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)


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

4.2.2 Macros

Macro: with-socket-handler-case STREAM &body BODY
Package

yxorp

Source

main.lisp (file)


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

4.2.3 Functions

Function: %parse-request-headers STRING
Package

yxorp

Source

utils.lisp (file)

Function: %parse-response-headers STRING
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)

Function: extract-encodings-from HEADER
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)

Function: parse-header-line LINE
Package

yxorp

Source

utils.lisp (file)

Function: parse-request-headers STREAM
Package

yxorp

Source

utils.lisp (file)

Function: parse-response-headers STREAM
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)

Function: serialize-headers HEADERS
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)


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

4.2.4 Types

Type: encoding ()
Package

yxorp

Source

coding.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   Y  
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

Jump to:   F   L   Y  

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

A.2 Functions

Jump to:   %   (  
A   C   D   E   F   H   M   P   R   S   T   V   W  
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

Jump to:   %   (  
A   C   D   E   F   H   M   P   R   S   T   V   W  

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

A.3 Variables

Jump to:   *   +  
C   D   K   P   R   S  
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

Jump to:   *   +  
C   D   K   P   R   S  

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

A.4 Data types

Jump to:   C   D   E   P   S   T   Y  
Index Entry  Section

C
config: Exported structures

D
destination: Exported types

E
encoding: Internal types

P
Package, yxorp: The yxorp package
Package, yxorp-config: The yxorp-config package
port: Exported types

S
ssl-config: Exported structures
Structure, config: Exported structures
Structure, ssl-config: Exported structures
System, yxorp: The yxorp system

T
Type, destination: Exported types
Type, encoding: Internal types
Type, port: Exported types

Y
yxorp: The yxorp system
yxorp: The yxorp package
yxorp-config: The yxorp-config package

Jump to:   C   D   E   P   S   T   Y