Class: FaradayMiddleware::Reddit::ForceJson

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/faraday_middleware/reddit/use/force_json.rb

Overview

Request middleware to force reddit to provide JSON responses when available.

For GET requests that means adding ‘.json` to the ends of URLs. For POST requests that means adding `api_type=json` to sent requests.

Instance Method Summary collapse

Constructor Details

#initialize(app, options = nil) ⇒ ForceJson

Returns a new instance of ForceJson.



13
14
15
16
# File 'lib/faraday_middleware/reddit/use/force_json.rb', line 13

def initialize(app, options = nil)
  super(app)
  @options = options || {}
end

Instance Method Details

#call(env) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/faraday_middleware/reddit/use/force_json.rb', line 18

def call(env)
  if env[:method].to_s == 'get'
    env[:url].path += '.json' unless env[:url].path.end_with?('.json')
  end

  @app.call(env)
end