Files
2026-10-25 23:19:29 -06:00

38 lines
717 B
Ruby

# frozen_string_literal: true
require 'rack'
require 'json'
require_relative 'response'
module FO::HTTP
class Request < Rack::Request
def content
if get? || options?
return nil
end
begin
body = body.read
if media_type.match?(/^application\/json/i)
return json
elsif media_type.match?(/^application\/form-data/i) ||
media_type.match?(/^application\/x-www-form-urlencoded/i)
return params
end
body
ensure
body.rewind
end
end
def path_params
self.env['router.params']
end
def new_response(status)
FO::HTTP::Response.new(self).status(status)
end
end
end