Page MenuHomeFreeBSD

D2707.diff
No OneTemporary

D2707.diff

Index: www/rubygem-rest-client/Makefile
===================================================================
--- www/rubygem-rest-client/Makefile
+++ www/rubygem-rest-client/Makefile
@@ -9,7 +9,8 @@
MAINTAINER= renchap@cocoa-x.com
COMMENT= Simple Simple HTTP and REST client for Ruby
-RUN_DEPENDS= rubygem-mime-types>=1.16:${PORTSDIR}/misc/rubygem-mime-types
+RUN_DEPENDS= rubygem-http-cookie>=1.0.2:${PORTSDIR}/www/rubygem-http-cookie \
+ rubygem-mime-types>=1.16:${PORTSDIR}/misc/rubygem-mime-types
USE_RUBY= yes
USE_RUBYGEMS= yes
Index: www/rubygem-rest-client/files/patch-lib_restclient_abstract__response.rb
===================================================================
--- /dev/null
+++ www/rubygem-rest-client/files/patch-lib_restclient_abstract__response.rb
@@ -0,0 +1,94 @@
+--- lib/restclient/abstract_response.rb.orig 2015-06-01 12:01:41 UTC
++++ lib/restclient/abstract_response.rb
+@@ -1,10 +1,11 @@
+ require 'cgi'
++require 'http-cookie'
+
+ module RestClient
+
+ module AbstractResponse
+
+- attr_reader :net_http_res, :args
++ attr_reader :net_http_res, :args, :request
+
+ # HTTP status code
+ def code
+@@ -22,11 +23,36 @@ module RestClient
+ @raw_headers ||= @net_http_res.to_hash
+ end
+
++ def response_set_vars(net_http_res, args, request)
++ @net_http_res = net_http_res
++ @args = args
++ @request = request
++ end
++
+ # Hash of cookies extracted from response headers
+ def cookies
+- @cookies ||= (self.headers[:set_cookie] || {}).inject({}) do |out, cookie_content|
+- out.merge parse_cookie(cookie_content)
++ hash = {}
++
++ cookie_jar.cookies.each do |cookie|
++ hash[cookie.name] = cookie.value
+ end
++
++ hash
++ end
++
++ # Cookie jar extracted from response headers.
++ #
++ # @return [HTTP::CookieJar]
++ #
++ def cookie_jar
++ return @cookie_jar if @cookie_jar
++
++ jar = HTTP::CookieJar.new
++ headers.fetch(:set_cookie, []).each do |cookie|
++ jar.parse(cookie, @request.url)
++ end
++
++ @cookie_jar = jar
+ end
+
+ # Return the default behavior corresponding to the response code:
+@@ -61,25 +87,28 @@ module RestClient
+
+ # Follow a redirection
+ def follow_redirection request = nil, result = nil, & block
++ new_args = @args.dup
++
+ url = headers[:location]
+ if url !~ /^http/
+- url = URI.parse(args[:url]).merge(url).to_s
++ url = URI.parse(request.url).merge(url).to_s
+ end
+- args[:url] = url
++ new_args[:url] = url
+ if request
+ if request.max_redirects == 0
+ raise MaxRedirectsReached
+ end
+- args[:password] = request.password
+- args[:user] = request.user
+- args[:headers] = request.headers
+- args[:max_redirects] = request.max_redirects - 1
+- # pass any cookie set in the result
+- if result && result['set-cookie']
+- args[:headers][:cookies] = (args[:headers][:cookies] || {}).merge(parse_cookie(result['set-cookie']))
+- end
++ new_args[:password] = request.password
++ new_args[:user] = request.user
++ new_args[:headers] = request.headers
++ new_args[:max_redirects] = request.max_redirects - 1
++
++ # TODO: figure out what to do with original :cookie, :cookies values
++ new_args[:headers]['Cookie'] = HTTP::Cookie.cookie_value(
++ cookie_jar.cookies(new_args.fetch(:url)))
+ end
+- Request.execute args, &block
++
++ Request.execute(new_args, &block)
+ end
+
+ def AbstractResponse.beautify_headers(headers)
Index: www/rubygem-rest-client/files/patch-lib_restclient_raw__response.rb
===================================================================
--- /dev/null
+++ www/rubygem-rest-client/files/patch-lib_restclient_raw__response.rb
@@ -0,0 +1,18 @@
+--- lib/restclient/raw_response.rb.orig 2015-06-01 12:01:41 UTC
++++ lib/restclient/raw_response.rb
+@@ -13,12 +13,13 @@ module RestClient
+
+ include AbstractResponse
+
+- attr_reader :file
++ attr_reader :file, :request
+
+- def initialize tempfile, net_http_res, args
++ def initialize(tempfile, net_http_res, args, request)
+ @net_http_res = net_http_res
+ @args = args
+ @file = tempfile
++ @request = request
+ end
+
+ def to_s
Index: www/rubygem-rest-client/files/patch-lib_restclient_request.rb
===================================================================
--- /dev/null
+++ www/rubygem-rest-client/files/patch-lib_restclient_request.rb
@@ -0,0 +1,14 @@
+--- lib/restclient/request.rb.orig 2015-06-01 12:01:41 UTC
++++ lib/restclient/request.rb
+@@ -219,9 +219,9 @@ module RestClient
+ def process_result res, & block
+ if @raw_response
+ # We don't decode raw requests
+- response = RawResponse.new(@tf, res, args)
++ response = RawResponse.new(@tf, res, args, self)
+ else
+- response = Response.create(Request.decode(res['content-encoding'], res.body), res, args)
++ response = Response.create(Request.decode(res['content-encoding'], res.body), res, args, self)
+ end
+
+ if block_given?
Index: www/rubygem-rest-client/files/patch-lib_restclient_response.rb
===================================================================
--- /dev/null
+++ www/rubygem-rest-client/files/patch-lib_restclient_response.rb
@@ -0,0 +1,22 @@
+--- lib/restclient/response.rb.orig 2015-06-01 12:01:41 UTC
++++ lib/restclient/response.rb
+@@ -6,17 +6,14 @@ module RestClient
+
+ include AbstractResponse
+
+- attr_accessor :args, :body, :net_http_res
+-
+ def body
+ self
+ end
+
+- def Response.create body, net_http_res, args
++ def self.create body, net_http_res, args, request
+ result = body || ''
+ result.extend Response
+- result.net_http_res = net_http_res
+- result.args = args
++ result.response_set_vars(net_http_res, args, request)
+ result
+ end
+
Index: www/rubygem-rest-client/files/patch-rest-client.gemspec
===================================================================
--- /dev/null
+++ www/rubygem-rest-client/files/patch-rest-client.gemspec
@@ -0,0 +1,21 @@
+--- rest-client.gemspec.orig 2015-06-01 12:01:42 UTC
++++ rest-client.gemspec
+@@ -24,15 +24,18 @@ Gem::Specification.new do |s|
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_runtime_dependency(%q<mime-types>, [">= 1.16"])
++ s.add_runtime_dependency(%q<http-cookie>, [">= 1.0.2", "< 2.0"])
+ s.add_development_dependency(%q<webmock>, [">= 0.9.1"])
+ s.add_development_dependency(%q<rspec>, [">= 0"])
+ else
+ s.add_dependency(%q<mime-types>, [">= 1.16"])
++ s.add_dependency(%q<http-cookie>, [">= 1.0.2", "< 2.0"])
+ s.add_dependency(%q<webmock>, [">= 0.9.1"])
+ s.add_dependency(%q<rspec>, [">= 0"])
+ end
+ else
+ s.add_dependency(%q<mime-types>, [">= 1.16"])
++ s.add_dependency(%q<http-cookie>, [">= 1.0.2", "< 2.0"])
+ s.add_dependency(%q<webmock>, [">= 0.9.1"])
+ s.add_dependency(%q<rspec>, [">= 0"])
+ end

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 27, 5:46 PM (3 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37406706
Default Alt Text
D2707.diff (7 KB)

Event Timeline