Class

CogPrefixRoutesHandler

Description [src]

final class Cog.PrefixRoutesHandler : GObject.TypeInstance {
  /* No available fields */
}

Direct custom URI scheme requests to different handlers.

Handler for custom URI scheme requests that can route requests to different handlers depending on the prefix of the requested URI path component.

Optionally, if a “fallback” handler has been specified, it will be used to serve requests which do not match any of the routed prefixes.

The set of available prefix routes can be configured using cog_prefix_routes_handler_mount() and cog_prefix_routes_handler_unmount(). For each request, routes are checked and the one that matches the most URI path components will handle the request.

This handler is typically used in tandem with CogDirectoryFilesHandler, the latter being typically a fallback, or as the handler for a routed prefix.

The following configures a handler to route requests with their path starting with /static/images to a certain directory, and all the rest of paths to another—note how the CogDirectoryFilesHandler:strip-components property is used to remove the matched path components for that route:

GFile *content_dir = g_file_new_for_path ("data/content");
CogRequestHandler *fallback_handler = cog_directory_files_handler_new (content_dir);

GFile *images_dir = g_file_new_for_path ("data/images");
CogRequestHandler *images_handler = g_object_new (COG_TYPE_DIRECTORY_FILES_HANDLER,
                                                  "base-path", images_dir,
                                                  "strip-components", 2,
                                                  NULL);

CogRequestHandler *handler = cog_prefix_routes_handler_new (fallback_handler);
cog_prefix_routes_handler_mount (COG_PREFIX_ROUTES_HANDLER (handler),
                                 "/static/images",
                                 images_handler);

Implements

Instance methods

cog_prefix_routes_handler_mount

Adds a route to the handler.

cog_prefix_routes_handler_mount_path

Adds a route to the handler pointing to a directory.

cog_prefix_routes_handler_unmount

Removes a previously configured route.

Methods inherited from CogRequestHandler (1)
cog_request_handler_run

Handle a single custom URI scheme request.

Properties

Cog.PrefixRoutesHandler:fallback-handler

Optional CogRequestHandler used as fallback when no routes match the URI path.

Class structure

struct CogPrefixRoutesHandlerClass {
  GObjectClass parent_class;
  
}
Class members
parent_class
GObjectClass
  No description available.

Functions

cog_prefix_routes_handler_new

Create a new handler.