Class: LinkedIn::FaradayMiddleware::LinkedinFormatRequest

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/linkedin/faraday_middleware/linkedin_format_request.rb

Instance Method Summary collapse

Constructor Details

#initialize(app = nil, format = :json) ⇒ LinkedinFormatRequest

Returns a new instance of LinkedinFormatRequest.



4
5
6
7
8
# File 'lib/linkedin/faraday_middleware/linkedin_format_request.rb', line 4

def initialize(app = nil, format = :json)
  super app

  @format = format
end

Instance Method Details

#call(env) ⇒ Object



10
11
12
13
14
# File 'lib/linkedin/faraday_middleware/linkedin_format_request.rb', line 10

def call(env)
  set_request_format! env[:url] unless has_format?(env[:url])

  @app.call env
end

#has_format?(url) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/linkedin/faraday_middleware/linkedin_format_request.rb', line 16

def has_format?(url)
  !(url.query =~ /(^|&)format=/).nil?
end

#set_request_format!(url) ⇒ Object



20
21
22
23
# File 'lib/linkedin/faraday_middleware/linkedin_format_request.rb', line 20

def set_request_format!(url)
  ar = URI.decode_www_form(url.query || '') << ['format', @format]
  url.query = URI.encode_www_form(ar)
end