/usr/lib/ruby/1.8/mechanize/chain/header_resolver.rb is in libwww-mechanize-ruby1.8 1.0.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | class Mechanize
class Chain
class HeaderResolver
include Mechanize::Handler
def initialize(keep_alive, keep_alive_time, cookie_jar, user_agent,
gzip_enabled, headers)
@keep_alive = keep_alive
@keep_alive_time = keep_alive_time
@cookie_jar = cookie_jar
@user_agent = user_agent
@gzip_enabled = gzip_enabled
@headers = headers
end
def handle(ctx, params)
uri = params[:uri]
referer = params[:referer]
request = params[:request]
if @keep_alive
request['Connection'] = 'keep-alive'
request['Keep-Alive'] = @keep_alive_time.to_s
else
request['Connection'] = 'close'
end
if @gzip_enabled
request['Accept-Encoding'] = 'gzip,identity'
else
request['Accept-Encoding'] = 'identity'
end
request['Accept-Language'] = 'en-us,en;q=0.5'
host = "#{uri.host}#{[80, 443].include?(uri.port.to_i) ? '' : ':' + uri.port.to_s}"
request['Host'] = host
request['Accept-Charset'] = 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'
unless @cookie_jar.empty?(uri)
cookies = @cookie_jar.cookies(uri)
cookie = cookies.length > 0 ? cookies.join("; ") : nil
request.add_field('Cookie', cookie)
end
# Add Referer header to request
if referer && referer.uri
request['Referer'] = referer.uri.to_s
end
# Add User-Agent header to request
request['User-Agent'] = @user_agent if @user_agent
@headers.each do |k,v|
request[k] = v
end if request
super
end
end
end
end
|