13: def handle(ctx, params)
14: uri = params[:uri]
15: referer = params[:referer]
16: request = params[:request]
17:
18: if @keep_alive
19: request['Connection'] = 'keep-alive'
20: request['Keep-Alive'] = @keep_alive_time.to_s
21: else
22: request['Connection'] = 'close'
23: end
24: request['Accept-Encoding'] = 'gzip,identity'
25: request['Accept-Language'] = 'en-us,en;q=0.5'
26: host = "#{uri.host}#{[80, 443].include?(uri.port.to_i) ? '' : ':' + uri.port.to_s}"
27: request['Host'] = host
28: request['Accept-Charset'] = 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'
29:
30: unless @cookie_jar.empty?(uri)
31: cookies = @cookie_jar.cookies(uri)
32: cookie = cookies.length > 0 ? cookies.join("; ") : nil
33: request.add_field('Cookie', cookie)
34: end
35:
36:
37: if referer && referer.uri
38: request['Referer'] = referer.uri.to_s
39: end
40:
41:
42: request['User-Agent'] = @user_agent if @user_agent
43: super
44: end