The base class for all web widgets. Override this class to create a custom
widget type, or use one of the default types which covers most common use
cases.
A CacheMissHandler is used to define a function that is called when a
cache miss occurs. The function is expected to return a new object that
will be stored in the cache.
The CloudStorage provides a standardized interface to store binary files
in the cloud. The default implementation is to use the database for binary
storage, but it can be extended to support Google Cloud, Amazon S3, or any
other cloud storage service.
The DatabaseCloudStorage uses the standard Serverpod database to store
binary files. It's the default CloudStorage interface of Serverpod, but
you may want to replace it with a more robust service depending on your
needs, especially in your production environment.
The Endpoint is an entrypoint to the Server. To add a custom Endpoint
to a Server, create a subclass and place it in the endpoints directory.
Code will generated that builds the corresponding client library. To add
methods that can be accessed from the client, make sure that the first
argument of the method is a Session parameter.
The EndpointDispatch is responsible for directing requests to the Server
to the correct Endpoint and method. Typically, this class is overridden
by an Endpoints class that is generated.
Superclass of a FutureCall, override the invoke method to create a
custom FutureCall. The call also needs to be registered with the top
ServerPod object before starting the Server.
A Session used internally in the ServerPod. Typically used to access
the database and do logging for events that are not triggered from a call,
or a stream.
The MessageCentral handles communication within the server, and between
servers in a cluster. It is especially useful when working with streaming
endpoints. The message central can pass on any serializable to a channel.
The channel can be listened to by from any place in the server.
When a call is made to the Server a MethodCallSession object is created.
It contains all data associated with the current connection and provides
easy access to the database.
The MethodStreamConnector hooks up a method with its name and
implementation. The method communicates with the client using a websocket
connection. Enabling support for streaming return values or parameters.
When a connection is made to the Server to an endpoint method that uses a
stream MethodStreamSession object is created. It contains all data
associated with the current connection and provides easy access to the
database.
Represents the operation that the event was caused by or in relation to.
An operation is a client-originated call / operation or a scheduled operation,
i.e. a method call, a streaming call, a web call, or a future call.
A Route defines a destination in Serverpod's web server. It will handle
a call and generate an appropriate response by manipulating the
HttpRequest object. You override Route, or more likely it's subclass
WidgetRoute to create your own custom routes in your server.
Used to define who can access an Endpoint. Authenticated users can be
associated with a Scope, if the same scope is defined in the Endpoint
the user is granted access. The scope is defined by its name.
DEPRECATED: This class is deprecated and will be removed in version 2.1.
Please implement the SerializableModel interface instead for creating serializable
models.
The SerializationManager is responsible for creating objects from a
serialization, but also for serializing objects. This class is typically
extended by generated code.
The SerializationManager is responsible for creating objects from a
serialization, but also for serializing objects. This class is typically
overridden by generated code. SerializationManagerServer is an extension to
also handle Tables.
Represents a snapshot of a specific health metric. An entry is written every
minute for each server. All health data can be accessed through Serverpod
Insights.
The Serverpod handles all setup and manages the main Server. In addition
to the user managed server, it also runs a server for handling the
DistributedCache and other connections through the InsightsEndpoint.
When a call is made to the Server a Session object is created. It
contains all data associated with the current connection and provides
easy access to the database.
When a web socket connection is opened to the Server a StreamingSession
object is created. It contains all data associated with the current
connection and provides easy access to the database.
Holds data corresponding to a row in the database. Concrete classes are
typically generated. Instances of TableRow can also be serialized and
either passed to clients or cached.
When a request is made to the web server a WebCallSession object is
created. It contains all data associated with the current connection and
provides easy access to the database.
A widget based on a HTML template. The name of the template should
correspond to a template file in your server's web/templates directory.
Set the custom values of the template by populating the values field. If
values are set that aren't Strings, the toString method will be called
on the value. The templates are loaded when the server starts. If you add
new templates or modify existing templates, you will need to restart the
server for them to take effect.
The overarching logging mode of the server. This can be set to either
normal or verbose. In normal mode, only important messages are logged,
which is the default.
The name of the default Serverpod scheme for HTTP "authorization" headers.
Note, the scheme name is case-insensitive and should be compared in a case-insensitive manner.
Used to annotate a method, field, or getter within a class, mixin, or
extension, or a or top-level getter, variable or function to indicate that
the value obtained by invoking it should be used. A value is considered used
if it is assigned to a variable, passed to a function, or used as the target
of an invocation, or invoked (if the result is itself a function).
Returns the auth key from an auth value that has potentially been wrapped.
This operation is the inverse of wrapAsBasicAuthHeaderValue.
If null is provided, null is returned.