This is the smallnet Reference Manual, version 1.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Jul 13 22:00:18 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
smallnet
nytpu <alex@nytpu.com>
(GIT https://git.sr.ht/~nytpu/smallnet)
MPL-2.0
1.1.0
nytpu.lisp-utils
(system).
uiop
(system).
alexandria
(system).
babel
(system).
quri
(system).
cl-mimeparse
(system).
usocket
(system).
cl+ssl
(system)., for feature (:not :windows)
schannel
(system)., for feature :windows
package.lisp
(file).
smallnet.lisp
(file).
gemini.lisp
(file).
gopher.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
smallnet/smallnet.asd
smallnet/package.lisp
smallnet/smallnet.lisp
smallnet/gemini.lisp
smallnet/gopher.lisp
smallnet/smallnet.lisp
package.lisp
(file).
smallnet
(system).
smallnet/gemini.lisp
package.lisp
(file).
smallnet.lisp
(file).
smallnet
(system).
*codes-statuses*
(special variable).
code->status
(function).
gemini-request
(function).
gemtext-header
(class).
gemtext-line
(class).
gemtext-link
(class).
gemtext-list-item
(class).
gemtext-preformatted-toggle
(class).
gemtext-quote
(class).
gemtext-text-line
(class).
level
(reader method).
(setf level)
(writer method).
malformed-response
(condition).
parse-gemtext
(generic function).
print-object
(method).
print-object
(method).
print-object
(method).
status->code
(function).
text
(reader method).
(setf text)
(writer method).
url
(reader method).
(setf url)
(writer method).
+whitespace-bag+
(constant).
decode-body-if-possible
(function).
make-context
(function).
parse-gemtext-line
(function).
parse-header
(function).
read-header
(function).
reason
(reader method).
remove-markup
(function).
response
(reader method).
with-ssl-client-stream
(macro).
smallnet/gopher.lisp
package.lisp
(file).
smallnet.lisp
(file).
smallnet
(system).
gopher-request
(function).
gophermap-line
(class).
hostname
(reader method).
(setf hostname)
(writer method).
item-type
(reader method).
(setf item-type)
(writer method).
name
(reader method).
(setf name)
(writer method).
parse-gophermap
(generic function).
port
(reader method).
(setf port)
(writer method).
print-object
(method).
selector
(reader method).
(setf selector)
(writer method).
+end-of-response-cr+
(constant).
+end-of-response-crlf+
(constant).
+end-of-response-lf+
(constant).
+tab+
(constant).
parse-gopher-path
(function).
parse-gophermap-line
(function).
textual-gophertype?
(function).
valid-gophertype?
(function).
Packages are listed by definition order.
smallnet.gemini
common-lisp
.
*codes-statuses*
(special variable).
code->status
(function).
gemini-request
(function).
gemtext-header
(class).
gemtext-line
(class).
gemtext-link
(class).
gemtext-list-item
(class).
gemtext-preformatted-toggle
(class).
gemtext-quote
(class).
gemtext-text-line
(class).
level
(generic reader).
(setf level)
(generic writer).
malformed-response
(condition).
parse-gemtext
(generic function).
status->code
(function).
text
(generic reader).
(setf text)
(generic writer).
url
(generic reader).
(setf url)
(generic writer).
+whitespace-bag+
(constant).
decode-body-if-possible
(function).
make-context
(function).
parse-gemtext-line
(function).
parse-header
(function).
read-header
(function).
reason
(generic reader).
remove-markup
(function).
response
(generic reader).
with-ssl-client-stream
(macro).
smallnet.gopher
common-lisp
.
gopher-request
(function).
gophermap-line
(class).
hostname
(generic reader).
(setf hostname)
(generic writer).
item-type
(generic reader).
(setf item-type)
(generic writer).
name
(generic reader).
(setf name)
(generic writer).
parse-gophermap
(generic function).
port
(generic reader).
(setf port)
(generic writer).
selector
(generic reader).
(setf selector)
(generic writer).
+end-of-response-cr+
(constant).
+end-of-response-crlf+
(constant).
+end-of-response-lf+
(constant).
+tab+
(constant).
parse-gopher-path
(function).
parse-gophermap-line
(function).
textual-gophertype?
(function).
valid-gophertype?
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Association list mapping Gemini numeric response codes to keywords ("statuses") named after the response code name in the specification.
Convert a numeric Gemini response code to a response status keyword, or NIL if the response code is not a valid one.
Perform a Gemini request against URI. Returns the response body (or NIL if the response doesn’t have a body), the response status keyword, the parsed response meta, and the unmodified response meta as multiple values. The response body is decoded to string if the response type is textual, otherwise it is an octet vector. Meta is a MIMEPARSE:MEDIA-RANGE if status is :SUCCESS, otherwise it’s a string (the unmodified response meta is always a string).
- HOST specifies the host to connect to, overriding the URI’s HOST.
- PORT specifies the port to connect to, overriding the URI’s PORT. If no PORT is given and URI doesn’t contain a PORT, then 1965 is used.
- FOLLOW-REDIRECTS specifies the number of redirects to follow, or set to NIL to not automatically follow them and just return the redirect status code.
- NO-DECODE, if T, will always return the body as a raw octet vector rather than trying to decode text/* MIME types. Overrides FORCE-DECODE.
- FORCE-DECODE, if T, will force trying to decode the body as text even if it is not indicated as such.
- TIMEOUT specifies a timeout to use on the socket connection.
- NODELAY disables Nagle’s algorithm on the socket used for connection.
- CLIENT-CERT specifies the path to the client certificate to use on most systems, or the identifier in the Windows certificate repository on Windows.
- CLIENT-CERT-KEY specifies the path to the client certificate’s key. Ignored on Windows.
- CLIENT-CERT-PASSWORD specifies the password to decrypt the client certificate. Ignored on Windows.
- IGNORE-READ/CLOSE-SSL-ERROR ignores if the Gemini server doesn’t send a TLS close_notify before closing the socket.
Perform a Gopher request against URI. Returns the response body (or NIL if the response doesn’t have a body) and the response item type as multiple values. The response body is decoded to string if the response type is textual, otherwise it is an octet vector. The response body is attempted to decode with UTF-8, otherwise it falls back to Latin-1.
- HOST specifies the host to connect to, overriding the URI’s HOST.
- PORT specifies the port to connect to, overriding the URI’s PORT. If no PORT is given and URI doesn’t contain a PORT, then 70 is used.
- RESPONSE-TYPE overrides the response type extracted from the URI, or overrides the default type if URI doesn’t have a response type.
- SELECTOR overrides the selector parsed from the URI
- NO-DECODE, if T, will always return the body as a raw octet vector rather than trying to decode text/* MIME types. Overrides FORCE-DECODE
- FORCE-DECODE, if T, will always try and decode the body as text.
- TIMEOUT specifies a timeout to use on the socket connection.
- NODELAY disables Nagle’s algorithm on the socket used for connection.
Note that providing *all* of HOST, PORT, RESPONSE-TYPE, and SELECTOR means that URI can be empty since no fields will be taken from it.
Convert a Gemini response status keyword to a numeric code, or NIL if the response status is not a valid one.
gophermap-line
)) ¶automatically generated reader method
gophermap-line
)) ¶automatically generated writer method
gophermap-line
)) ¶automatically generated reader method
gophermap-line
)) ¶automatically generated writer method
gemtext-header
)) ¶automatically generated reader method
gemtext-header
)) ¶automatically generated writer method
gophermap-line
)) ¶automatically generated reader method
name
.
gophermap-line
)) ¶automatically generated writer method
name
.
Parse a Gemtext DOCUMENT into a sequence of GEMTEXT-LINEs. The input document is either a single string containing multiple lines, or a sequence of strings already split into lines.
Parse a Gophermap DOCUMENT into a sequence of GOPHERMAP-LINEs. The input document is either a single string containing multiple lines, or a sequence of strings already split into lines.
gophermap-line
)) ¶automatically generated reader method
port
.
gophermap-line
)) ¶automatically generated writer method
port
.
gophermap-line
)) ¶automatically generated reader method
gophermap-line
)) ¶automatically generated writer method
gemtext-line
)) ¶automatically generated reader method
text
.
gemtext-line
)) ¶automatically generated writer method
text
.
gemtext-link
)) ¶automatically generated reader method
url
.
gemtext-link
)) ¶automatically generated writer method
url
.
gemtext-line
) stream) ¶gemtext-header
) stream) ¶gemtext-link
) stream) ¶gophermap-line
) stream) ¶Raised when a malformed response is received.
error
.
(integer 1 3)
:level
character
:item-type
string
:selector
string
:hostname
malformed-response
)) ¶malformed-response
)) ¶Jump to: | (
C D F G H I L M N P R S T U V W |
---|
Jump to: | (
C D F G H I L M N P R S T U V W |
---|
Jump to: | *
+
C H I L N P R S T U |
---|
Jump to: | *
+
C H I L N P R S T U |
---|
Jump to: | C F G M P S |
---|
Jump to: | C F G M P S |
---|