Class: StandardAPI::Middleware::QueryEncoding
- Inherits:
-
Object
- Object
- StandardAPI::Middleware::QueryEncoding
- Defined in:
- lib/standard_api/middleware/query_encoding.rb
Constant Summary collapse
- MSGPACK_MIME_TYPE =
"application/msgpack".freeze
- HTTP_METHOD_OVERRIDE_HEADER =
"HTTP_QUERY_ENCODING".freeze
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ QueryEncoding
constructor
A new instance of QueryEncoding.
Constructor Details
#initialize(app) ⇒ QueryEncoding
Returns a new instance of QueryEncoding.
19 20 21 |
# File 'lib/standard_api/middleware/query_encoding.rb', line 19 def initialize(app) @app = app end |
Instance Method Details
#call(env) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/standard_api/middleware/query_encoding.rb', line 23 def call(env) if !env[Rack::QUERY_STRING].empty? && env[HTTP_METHOD_OVERRIDE_HEADER] == MSGPACK_MIME_TYPE env[Rack::RACK_REQUEST_QUERY_STRING] = env[Rack::QUERY_STRING] env[Rack::RACK_REQUEST_QUERY_HASH] = MessagePack.unpack(CGI.unescape(env[Rack::QUERY_STRING])) end @app.call(env) end |