Sha256: c1a0a09fe1fd0ab04298fbdfd2c3b1f85b5469ac8680499438004154dc2acd14
Contents?: true
Size: 920 Bytes
Versions: 39
Compression:
Stored size: 920 Bytes
Contents
module Her module Middleware # This middleware expects the resource/collection data to be contained in the `data` # key of the JSON object class JsonApiParser < ParseJSON # Parse the response body # # @param [String] body The response body # @return [Mixed] the parsed response # @private def parse(body) json = parse_json(body) { :data => json[:data] || {}, :errors => json[:errors] || [], :metadata => json[:meta] || {}, } end # This method is triggered when the response has been received. It modifies # the value of `env[:body]`. # # @param [Hash] env The response environment # @private def on_complete(env) env[:body] = case env[:status] when 204 parse('{}') else parse(env[:body]) end end end end end
Version data entries
39 entries across 39 versions & 3 rubygems