class FakeAWS::S3::Responses::Error

Public Class Methods

new(error_code, fields = {}) click to toggle source
Calls superclass method
# File lib/fake_aws/s3/responses/error.rb, line 10
def initialize(error_code, fields = {})
  @error_code = error_code
  @fields     = fields

  super xml_payload, status_code, common_headers
end

Private Instance Methods

common_headers() click to toggle source
# File lib/fake_aws/s3/responses/error.rb, line 19
def common_headers
  super.merge("Content-Type" => "application/xml")
end
error() click to toggle source
# File lib/fake_aws/s3/responses/error.rb, line 47
def error
  @error ||= FakeAWS::S3::ErrorIndex.error_for_code(@error_code)
end
status_code() click to toggle source
# File lib/fake_aws/s3/responses/error.rb, line 23
def status_code
  error.status_code
end
xml_payload() click to toggle source
# File lib/fake_aws/s3/responses/error.rb, line 27
def xml_payload
  "".tap do |xml|
    xml << %q{<?xml version="1.0" encoding="UTF-8"?>\n}
    xml << %q{<Error>}

    xml << "  <Code>#{@error_code}</Code>"
    xml << "  <Message>#{error.description}</Message>"

    @fields.each_pair do |key, value|
      xml << "  <#{key}>#{value}</#{key}>"
    end

    xml << "  <RequestId>#{request_id}</RequestId>"

    xml << %q{</Error>}
  end
end