Sha256: fc17167762a25a933b1e877b953849cf04ffad0d6a12ab8fbf7c975eb6c4ef10

Contents?: true

Size: 889 Bytes

Versions: 11

Compression:

Stored size: 889 Bytes

Contents

##
# Class for midori response
# @attr [String] status HTTP response status
# @attr [Hash] header HTTP response header
# @attr [String] body HTTP response body
class Midori::Response
  attr_accessor :status, :header, :body

  # @param [Integer] code HTTP response code
  # @param [Hash] header HTTP response header
  # @param [String] body HTTP response body
  # Init a Response
  def initialize(code = 200, header = Midori::Const::DEFAULT_HEADER.clone, body = '')
    @status = Midori::Const::STATUS_CODE[code]
    @header = header
    @body = body
  end

  # Generate header string from hash
  # @return [String] generated string
  def generate_header
    @header.map do |key, value|
      "#{key}: #{value}\r\n"
    end.join
  end

  # Convert response to raw string
  # @return [String] generated string
  def to_s
    "HTTP/1.1 #{@status}\r\n#{generate_header}\r\n#{@body}"
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
em-midori-0.2.4 lib/midori/response.rb
em-midori-0.2.3 lib/midori/response.rb
em-midori-0.2.2 lib/midori/response.rb
em-midori-0.2.1 lib/midori/response.rb
em-midori-0.2.0 lib/midori/response.rb
em-midori-0.1.12 lib/midori/response.rb
em-midori-0.1.11 lib/midori/response.rb
em-midori-0.1.10 lib/midori/response.rb
em-midori-0.1.9 lib/midori/response.rb
em-midori-0.1.8 lib/midori/response.rb
em-midori-0.1.7.1 lib/midori/response.rb