class Minver::Response

Constants

DEFAULT_HEADERS

Public Class Methods

from(var) click to toggle source
# File lib/minver/response.rb, line 35
def self.from var
  case var
  when String
    new(200, {}, var)
  when Array
    new(*var)
  end
end
new(status, headers, body) click to toggle source
# File lib/minver/response.rb, line 8
def initialize status, headers, body
  headers["Content-Length"] = body.length
  @status = status
  @headers = DEFAULT_HEADERS.merge(
    "Date" => Time.now.strftime("%a, %d %b %Y %H:%M:%S %Z")
  ).merge(headers)
  @body = body
end

Public Instance Methods

body() click to toggle source
# File lib/minver/response.rb, line 17
def body
  @body
end
data() click to toggle source
# File lib/minver/response.rb, line 21
def data
  [status_line, *header_lines, '', body].join("\n")
end
header_lines() click to toggle source
# File lib/minver/response.rb, line 29
def header_lines
  @headers.map do |k, v|
    [k, v].join(": ")
  end
end
status_line() click to toggle source
# File lib/minver/response.rb, line 25
def status_line
  ["HTTP/#{Minver::Base::HTTP_VERSION}", @status, Minver::Base::HTTP_CODES[@status]].join(' ')
end