Sha256: 35a3452df53f3f0bde6848cc1e14d2af1aa29a43f67ab086688795d825c5bc3a

Contents?: true

Size: 1.36 KB

Versions: 12

Compression:

Stored size: 1.36 KB

Contents

# frozen_string_literal: true

module JSONAPI
  # Contains all objects relating to a HTTP request
  class Request
    attr_reader :path, :http_method, :host, :port, :query_string, :params, :headers, :body

    # @param env The rack envirornment hash
    # @param query_param_collection [QueryParamCollection]  The already initialized QueryParamCollection class
    # @param header_collection [HeaderCollection]  The already initialized HeaderCollection class
    # @param document [Document]  The already initialized Document class
    def initialize(env, query_param_collection, header_collection, document)
      # from env hash
      @path = env['REQUEST_PATH']
      @http_method = env['REQUEST_METHOD']
      @host = env['SERVER_NAME']
      @port = env['SERVER_PORT'].to_i
      @query_string = env['QUERY_STRING']

      # parsed objects
      @params = query_param_collection
      @headers = header_collection
      @body = document
    end

    # Simple representation of a request object.
    def to_s
      "Quick Access Methods:\n\n" \
        "\tpath: #{@path}\n" \
        "\thttp: #{@http}\n" \
        "\thost: #{@host}\n" \
        "\tport: #{@port}\n" \
        "\tquery_string: #{@query_string}\n\n" \
      "Accessing main sections of request:\n\n" \
        "\tparams: #{@params}\n" \
        "\theaders: #{@headers}\n" \
        "\tbody: #{@body}" \
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
easy-jsonapi-1.0.11 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.10 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.9 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.8 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.7 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.6 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.5 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.4 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.3 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.2 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.1 lib/easy/jsonapi/request.rb
easy-jsonapi-1.0.0 lib/easy/jsonapi/request.rb