52 lines
1.1 KiB
Ruby
52 lines
1.1 KiB
Ruby
# encoding: UTF-8
|
|
|
|
class Browser
|
|
module Actions
|
|
|
|
# @param [ String ] url
|
|
# @param [ Hash ] params
|
|
#
|
|
# @return [ Typhoeus::Response ]
|
|
def get(url, params = {})
|
|
process(url, params.merge(method: :get))
|
|
end
|
|
|
|
# @param [ String ] url
|
|
# @param [ Hash ] params
|
|
#
|
|
# @return [ Typhoeus::Response ]
|
|
def post(url, params = {})
|
|
process(url, params.merge(method: :post))
|
|
end
|
|
|
|
# @param [ String ] url
|
|
# @param [ Hash ] params
|
|
#
|
|
# @return [ Typhoeus::Response ]
|
|
def head(url, params = {})
|
|
process(url, params.merge(method: :head))
|
|
end
|
|
|
|
# @param [ String ] url
|
|
# @param [ Hash ] params
|
|
#
|
|
# @return [ Typhoeus::Response ]
|
|
def get_and_follow_location(url, params = {})
|
|
params[:maxredirs] ||= 2
|
|
|
|
get(url, params.merge(followlocation: true))
|
|
end
|
|
|
|
protected
|
|
|
|
# @param [ String ] url
|
|
# @param [ Hash ] params
|
|
#
|
|
# @return [ Typhoeus::Response ]
|
|
def process(url, params)
|
|
Typhoeus::Request.new(url, Browser.instance.merge_request_params(params)).run
|
|
end
|
|
|
|
end
|
|
end
|