Sha256: 7d8e493cb18ed2f1042d2100221a81db2db81e7aed29731cdb1e2d7f1500f5b0

Contents?: true

Size: 515 Bytes

Versions: 6

Compression:

Stored size: 515 Bytes

Contents

module Alf
  module Rest
    class Response < Rack::Response

      def initialize(env = {})
        accept = env['HTTP_ACCEPT'] || 'application/json'
        if @renderer = Alf::Renderer.from_http_accept(accept)
          super()
          self['Content-Type'] = @renderer.mime_type
        else
          raise Rack::Accept::Context::AcceptError, accept
        end
      end

      def body=(payload)
        super(@renderer.new(payload))
      end

    end # class Response
  end # module Rest
end # module Alf

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
alf-rest-0.17.1 lib/alf/rest/response.rb
alf-rest-0.16.3 lib/alf/rest/response.rb
alf-rest-0.16.2 lib/alf/rest/response.rb
alf-rest-0.16.1 lib/alf/rest/response.rb
alf-rest-0.16.0 lib/alf/rest/response.rb
alf-rest-0.14.0 lib/alf/rest/response.rb