RouterResponse

public class RouterResponse

Router response that the server sends as a reply to RouterRequest.

  • Set of cookies to return with the response.

    Declaration

    Swift

    public var cookies = [String: HTTPCookie]()
  • Optional error value.

    Declaration

    Swift

    public var error: Swift.Error?
  • HTTP headers of the response.

    Declaration

    Swift

    public var headers: Headers
  • HTTP status code of the response.

    Declaration

    Swift

    public var statusCode: HTTPStatusCode
  • End the response.

    Throws

    Socket.Error if an error occurred while writing to a socket.

    Declaration

    Swift

    public func end() throws
  • Send a string.

    Parameter

    Parameter str: the string to send.

    Returns

    this RouterResponse.

    Declaration

    Swift

    public func send(_ str: String) -> RouterResponse

    Parameters

    str

    the string to send.

    Return Value

    this RouterResponse.

  • Send data.

    Parameter

    Parameter data: the data to send.

    Returns

    this RouterResponse.

    Declaration

    Swift

    public func send(data: Data) -> RouterResponse

    Parameters

    data

    the data to send.

    Return Value

    this RouterResponse.

  • Send a file.

    Parameter

    Parameter fileName: the name of the file to send.

    Throws

    An error in the Cocoa domain, if the file cannot be read.

    Returns

    this RouterResponse.

    Note

    Sets the Content-Type header based on the extension of the file. If the fileName is relative, it is relative to the current directory.

    Declaration

    Swift

    public func send(fileName: String) throws -> RouterResponse

    Parameters

    fileName

    the name of the file to send.

    Return Value

    this RouterResponse.

  • Send JSON.

    Parameter

    Parameter json: the JSON object to send.

    Returns

    this RouterResponse.

    Declaration

    Swift

    public func send(json: JSON) -> RouterResponse

    Parameters

    json

    the JSON object to send.

    Return Value

    this RouterResponse.

  • Send JSON.

    Parameter

    Parameter json: The array to send in JSON format.

    Returns

    this RouterResponse.

    Declaration

    Swift

    public func send(json: [Any]) -> RouterResponse

    Parameters

    json

    The array to send in JSON format.

    Return Value

    this RouterResponse.

  • Send JSON.

    Parameter

    Parameter json: The Dictionary to send in JSON format as a hash.

    Returns

    this RouterResponse.

    Declaration

    Swift

    public func send(json: [String: Any]) -> RouterResponse

    Parameters

    json

    The Dictionary to send in JSON format as a hash.

    Return Value

    this RouterResponse.

  • Send JSON with JSONP callback.

    Parameter

    Parameter json: the JSON object to send.

    Parameter

    Parameter callbackthe name of the URL query parameter whose value contains the JSONP callback function.

    Throws

    JSONPError.invalidCallbackName if the the callback query parameter of the request URL is missing or its value is empty or contains invalid characters (the set of valid characters is the alphanumeric characters and []$._).

    Returns

    this RouterResponse.

    Declaration

    Swift

    public func send(jsonp: JSON, callbackParameter: String = "callback") throws -> RouterResponse

    Parameters

    json

    the JSON object to send.

    callbackParameter

    the name of the URL query parameter whose value contains the JSONP callback function.

    Return Value

    this RouterResponse.

  • Set the status code.

    Parameter

    Parameter status: the HTTP status code object.

    Returns

    this RouterResponse.

    Declaration

    Swift

    public func status(_ status: HTTPStatusCode) -> RouterResponse

    Parameters

    status

    the HTTP status code object.

    Return Value

    this RouterResponse.

  • Send the HTTP status code.

    Parameter

    Parameter status: the HTTP status code.

    Returns

    this RouterResponse.

    Declaration

    Swift

    public func send(status: HTTPStatusCode) -> RouterResponse

    Parameters

    status

    the HTTP status code.

    Return Value

    this RouterResponse.

  • Redirect to path with status code.

    Parameter

    the path for the redirect.

    Parameter

    the status code for the redirect.

    Throws

    Socket.Error if an error occurred while writing to a socket.

    Returns

    this RouterResponse.

    Declaration

    Swift

    public func redirect(_ path: String, status: HTTPStatusCode = .movedTemporarily) throws -> RouterResponse

    Return Value

    this RouterResponse.

  • Undocumented

    Declaration

    Swift

    public class RouterResponse
  • Set headers and attach file for downloading.

    Parameter

    Parameter download: the file to download.

    Throws

    An error in the Cocoa domain, if the file cannot be read.

    Declaration

    Swift

    public func send(download: String) throws

    Parameters

    download

    the file to download.

  • Set the pre-flush lifecycle handler and return the previous one.

    Parameter

    Parameter newOnEndInvoked: The new pre-flush lifecycle handler.

    Returns

    The old pre-flush lifecycle handler.

    Declaration

    Swift

    public func setOnEndInvoked(_ newOnEndInvoked: @escaping LifecycleHandler) -> LifecycleHandler

    Parameters

    newOnEndInvoked

    The new pre-flush lifecycle handler.

    Return Value

    The old pre-flush lifecycle handler.

  • Set the written data filter and return the previous one.

    Parameter

    Parameter newWrittenDataFilter: The new written data filter.

    Returns

    The old written data filter.

    Declaration

    Swift

    public func setWrittenDataFilter(_ newWrittenDataFilter: @escaping WrittenDataFilter) -> WrittenDataFilter

    Parameters

    newWrittenDataFilter

    The new written data filter.

    Return Value

    The old written data filter.

  • Perform content-negotiation on the Accept HTTP header on the request, when present.

    Uses request.accepts() to select a handler for the request, based on the acceptable types ordered by their quality values. If the header is not specified, the default callback is invoked. When no match is found, the server invokes the default callback if exists, or responds with 406 “Not Acceptable”. The Content-Type response header is set when a callback is selected.

    Parameter

    Parameter callbacks: a dictionary that maps content types to handlers.

    Throws

    Socket.Error if an error occurred while writing to a socket.

    Declaration

    Swift

    public func format(callbacks: [String : ((RouterRequest, RouterResponse) -> Void)]) throws

    Parameters

    callbacks

    a dictionary that maps content types to handlers.