All Classes and Interfaces

Class
Description
This class provides the ability to pop items into a queue thread-safely and know they'll happen later.
This class provides the ability to pop items into a queue thread-safely and know they'll happen later.
This class exists to properly kill off multiple action queues
This class tracks the overall state of the ActionQueues that are in use throughout the system.
This class represents the body of an HTML message.
The type of HTTP request body
Handy helpers when working with bytes
This uses a [ConcurrentHashMap] as its base.
Very important system design decisions are made here.
This class represents the information in the Content-Disposition header of a multipart/form-data partition.
Holds important system-wide data and methods, such as the logger, constants, and the FullSystem instance.
Handy helpers for dealing with cryptographic functions
a memory-based disk-persisted database class.
An abstract data type meant to be used with Db
Exceptions that occur in the Db
Reads files from disk, optionally storing into a LRU cache.
Helper functions for working with files.
This is thrown when the user action is prevented by a restriction we put on the system.
This class is responsible for instantiating necessary classes for a valid system, in the proper order.
Tools to enable system-wide integration testing
A Response designed to work with FunctionalTesting
Details extracted from the headers.
Represents the expected types of things we may encounter when parsing an HTML string, which for our purposes is ParseNodeType.
Converts HTML strings to object trees.
An enum to represent the mode of conversation for HTTP - plain text or encrypted (TLS)
The HTTP versions we handle
An interface for the BodyProcessor implementation.
 
Logging code interface
Represents an inmate in our "jail".
This exception is thrown if the range of bytes provided for a request is improper - such as if the range values were negative, wrongly-ordered, and so on.
An exception specific to our invariants.
Utilities for asserting invariants within the code.
An interface for Request.
An interface for Response.
An interface for the Server implementation.
This is the public interface to ISocketWrapper, whose purpose is to make our lives easier when working with Socket.
Monitors the inmates who have misbehaved in our system.
The parameters required to set up a handler that is run after everything else in the web framework.
Implementation of ILogger
An enumeration of the levels of logging our system provides.
A simple Least-Recently Used Cache See LRU
A RuntimeException scoped to the security package
This class exists just to avoid needing to handle the exception when I use a regular Thread.sleep()
The different kinds of things in an HTML document.
Thrown if a failure occurs parsing
Represents a single partition in a multipart/form-data body response
Some essential characteristics of the path portion of the start line
The input parameters that are required to add a pre-handler.
Handy helpers to make regular expression marginally easier / more efficient, etc.
The result of rendering one of the TemplateSections, used to build up the full template.
An HTTP request.
This class holds data and methods for dealing with the "start line" in an HTTP request.
These are the HTTP methods we handle.
Represents an HTTP response.
 
This class is to improve maintainability in the system.
Utilities for searching collections of data
 
Helper functions for manipulating stack traces.
This class represents the text that is sent back in a Response
This class provides some tools for running a virtual stopwatch while code is running, to examine code speed.
This class represents a single partition in a multipart/form Request body, when read as an InputStream.
Some helper methods for Strings.
tagname and attributes inside an HTML5 tag
Possible tag names per the W3C HTML spec.
Thrown when failing to parse something in a template
This class provides methods for working with templates.
This exception is thrown when we try to render a string template but fail to include a key for one of the key values - that is, if the template is "hello {foo}", and our map doesn't include a value for foo, this exception will get thrown.
Thrown when a test fails
These are utility functions for basic automated testing.
This implementation of Logger has a few extra functions that only apply to tests, like TestLogger.test(String)
An implementation of RuntimeException, scoped for the TestLogger.
Used in TestLogger as a circular queue to store the most recent log statements for analysis.
This exists so that we are able to better manage exceptions in a highly threaded system.
This exists so that we are able to better manage exceptions in a highly threaded system.
This exists so that we are able to slightly better manage exceptions in a highly threaded system.
a functional interface used in ILogger, allows exceptions to bubble up.
 
Looking for bad actors in our system
This class enables pulling key-value pairs one at a time from the Request body.
Represents a key-value pair with URL-encoding.
 
This class is responsible for the HTTP handling after socket connection.
This is just a RuntimeException that is scoped for our web server.