Module: Kirei::Routing

Defined in:
lib/kirei/routing/base.rb,
lib/kirei/routing/verb.rb,
lib/kirei/routing/route.rb,
lib/kirei/routing/router.rb,
lib/kirei/routing/request.rb,
lib/kirei/routing/rack_env_type.rb,
lib/kirei/routing/nilable_hooks_type.rb,
lib/kirei/routing/rack_response_type.rb

Defined Under Namespace

Classes: Base, Request, Route, Router, Verb

Constant Summary collapse

RackEnvType =
T.type_alias do
  #
  # in plain rack, the value could be any of:
  #
  #   T::Array[T.untyped]
  #   IO
  #   T::Boolean
  #   String
  #   Numeric
  #   TCPSocket
  #   StringIO
  #
  # The web server (e.g. Puma) might alter this to e.g.
  #   ::Puma::Client
  #   ::Puma::Configuration
  #
  # Thus we leave it as T.untyped.
  #
  T::Hash[String, T.untyped]
end
NilableHooksType =
T.type_alias do
  T.nilable(T::Set[T.proc.void])
end
RackResponseType =
T.type_alias do
  [
    Integer,                       # status
    T::Hash[String, String],       # headers. Values may be arrays of integers for binary representations
    T.any(T::Array[String], Proc), # body
  ]
end