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.
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.
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.
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
overriden 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.
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.