Router

public final class Router

Resolves Route‘s in RouteCollection and generates URLs for them.

  • An instance of RouteCollection.

    Declaration

    Swift

    public var routes: RouteCollection
  • Initializes a new instance with RouteCollection.

    Declaration

    Swift

    public init(routes: RouteCollection = .init())

    Parameters

    routes

    An instance of RouteCollection. Defaults to an empty RouteCollection.

  • Resolves a Routefor a Request.

    Declaration

    Swift

    public func resolveRoute(for request: Request) -> Route?

    Parameters

    request

    An instance of Request.

    Return Value

    A resolved Route or nil.

  • Resolves a Routeby HTTP request method and URI.

    Declaration

    Swift

    public func resolveRouteBy(method: Request.Method, uri: URI) -> Route?

    Parameters

    method

    An HTTP request method.

    uri

    A valid URI.

    Return Value

    A resolved Route or nil.

  • Resolves a Routeby name.

    Declaration

    Swift

    public func resolveRoute(named name: String) -> Route?

    Parameters

    name

    A unique name for Route.

    Return Value

    A resolved Route or nil.

  • Resolves a Routeby name and path’s parameters.

    Declaration

    Swift

    public func resolveRoute(named name: String, parameters: [String : String]) -> Route?

    Parameters

    name

    A unique name for Route.

    parameters

    A path’s parameters.

    Return Value

    A resolved Route or nil.

  • Generates a URL for Route by name, path’s parameters, and query strings.

    Declaration

    Swift

    public func generateURLForRoute(
        named name: String,
        parameters: [String: String]? = nil,
        query: [String: String]? = nil
    ) -> URL?

    Parameters

    name

    A unique name for Route.

    parameters

    A path’s parameters. Defaults to nil.

    query

    A dictionary of query strings. Defaults to nil.

    Return Value

    A generated URL or nil.