Sha256: c16e53d6839f29ae9ce5434e494555d04e5cf64d10ce3d416ea532278ab93606
Contents?: true
Size: 1.53 KB
Versions: 2
Compression:
Stored size: 1.53 KB
Contents
require "json" require "hypernova/plugin_helper" class Hypernova::Response include Hypernova::PluginHelper def initialize(request) @request = request end # Example parsed body with no error: # { # "0" => { # "name" => "hello_world.js", # "html" => "<div>Hello World</div>", # "meta" => {}, # "duration" => 100, # "statusCode" => 200, # "success" => true, # "error" => nil, # } # } # Example parsed body with error: # { # "0" => { # "html" => "<p>Error!</p>", # "name" => "goodbye_galaxy.js", # "meta" => {}, # "duration" => 100, # "statusCode" => 500, # "success" => false, # "error" => { # "name" => "TypeError", # "message" => "Cannot read property 'forEach' of undefined", # "stack" => [ # "TypeError: Cannot read property 'forEach' of undefined", # "at TravelerLanding.componentWillMount", # "at ReactCompositeComponentMixin.mountComponent", # ], # }, # } # } def parsed_body response = parse_body # This enables backward compatibility with the old server response format. # In the new format, the response results are contained within a "results" key. The top level # hash contains a "success" and "error" which relates to the whole batch. response = response["results"] || response after_response(response, response) end private attr_reader :request def body request.body end def parse_body JSON.parse(body) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hypernova-1.0.1 | lib/hypernova/response.rb |
hypernova-1.0.0 | lib/hypernova/response.rb |