class
HTTP::Server::Context
Overview
Instances of this class are passed to an HTTP::Server handler.
Defined in:
http/server/context.crInstance Method Summary
-
#local_address : Socket::Address | Nil
The network address of the HTTP server.
-
#local_address=(local_address : Socket::Address | Nil)
The network address of the HTTP server.
-
#remote_address : Socket::Address | Nil
The network address that sent the request to an HTTP server.
-
#remote_address=(remote_address : Socket::Address | Nil)
The network address that sent the request to an HTTP server.
-
#request : Request
The
HTTP::Requestto process. -
#response : Response
The
HTTP::Server::Responseto configure and write to.
Instance methods inherited from class Reference
==(other : self)==(other : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup, hash(hasher) hash, initialize initialize, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference) : Bool
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
new
new,
unsafe_construct(address : Pointer, *args, **opts) : self
unsafe_construct
Class methods inherited from class Reference
pre_initialize(address : Pointer)
pre_initialize
Instance methods inherited from class Object
! : Bool
!,
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(collection : Object) : Bool
in?(*values : Object) : Bool in?, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil!(message)
not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO) : Nil
to_json : String to_json, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil to_pretty_json, to_s(io : IO) : Nil
to_s : String to_s, to_yaml(io : IO) : Nil
to_yaml : String to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
from_json(string_or_io : String | IO, root : String)from_json(string_or_io : String | IO) from_json, from_yaml(string_or_io : String | IO) from_yaml
Macros inherited from class Object
class_getter(*names, &block)
class_getter,
class_getter!(*names)
class_getter!,
class_getter?(*names, &block)
class_getter?,
class_property(*names, &block)
class_property,
class_property!(*names)
class_property!,
class_property?(*names, &block)
class_property?,
class_setter(*names)
class_setter,
def_clone
def_clone,
def_equals(*fields)
def_equals,
def_equals_and_hash(*fields)
def_equals_and_hash,
def_hash(*fields)
def_hash,
delegate(*methods, to object)
delegate,
forward_missing_to(delegate)
forward_missing_to,
getter(*names, &block)
getter,
getter!(*names)
getter!,
getter?(*names, &block)
getter?,
property(*names, &block)
property,
property!(*names)
property!,
property?(*names, &block)
property?,
setter(*names)
setter
Instance Method Detail
The network address of the HTTP server.
Middlewares can overwrite this value.
The network address of the HTTP server.
Middlewares can overwrite this value.
The network address that sent the request to an HTTP server.
Middlewares can overwrite this value.
Example:
class ForwarderHandler
include HTTP::Handler
def call(context)
if ip = context.request.headers["X-Real-IP"]? # When using a reverse proxy that guarantees this field.
context.remote_address = Socket::IPAddress.new(ip, 0)
end
call_next(context)
end
end
server = HTTP::Server.new([ForwarderHandler.new, HTTP::LogHandler.new])
The network address that sent the request to an HTTP server.
Middlewares can overwrite this value.
Example:
class ForwarderHandler
include HTTP::Handler
def call(context)
if ip = context.request.headers["X-Real-IP"]? # When using a reverse proxy that guarantees this field.
context.remote_address = Socket::IPAddress.new(ip, 0)
end
call_next(context)
end
end
server = HTTP::Server.new([ForwarderHandler.new, HTTP::LogHandler.new])