class Athena::Routing::RedirectResponse

Overview

Represents an HTTP response that does a redirect.

Can be used as an easier way to handle redirects as well as providing type safety that a route should redirect.

require "athena"

class RedirectController < ART::Controller
  @[ARTA::Get(path: "/go_to_crystal")]
  def redirect_to_crystal : ART::RedirectResponse
    ART::RedirectResponse.new "https://crystal-lang.org"
  end
end

ART.run

# GET /go_to_crystal # => (redirected to https://crystal-lang.org)

Defined in:

redirect_response.cr

Constructors

Instance Method Summary

Instance methods inherited from class Athena::Routing::Response

content : String content, content=(content : String | Nil) content=, etag : String | Nil etag, headers : HTTP::Headers headers, last_modified : Time | Nil last_modified, last_modified=(time : Time | Nil = nil) : Nil last_modified=, send(context : HTTP::Server::Context) : Nil send, set_etag(etag : String | Nil = nil, weak : Bool = false) : Nil set_etag, set_public : Nil set_public, status : HTTP::Status status, status=(code : HTTP::Status | Int32) : Nil status=, writer=(writer : ART::Response::Writer) writer=

Constructor methods inherited from class Athena::Routing::Response

new(content : String | Nil = nil, status : HTTP::Status | Int32 = HTTP::Status::OK, headers : HTTP::Headers = HTTP::Headers.new) new

Constructor Detail

def self.new(url : String | Path, status : HTTP::Status | Int32 = HTTP::Status::FOUND, headers : HTTP::Headers = HTTP::Headers.new) #

Creates a response that should redirect to the provided url with the provided status, defaults to 302.

An ArgumentError is raised if url is blank, or if status is not a valid redirection status code.


[View source]

Instance Method Detail

def url : String #

The url that the request will be redirected to.


[View source]