fakeweb (master branch pending release)
-
fix a variety of NoMethodErrors when Net::HTTP#read_timeout= or Net::HTTP#continue_timeout= is called after a Net::HTTP object has handled a first fake request under newer versions of Ruby and/or some gems (Mechanize, aws-sdk, etc.) [Marcel Massana, Trevor Rowe, Chris Kampmeier]
-
add ability to accept a StringIO as a fake response body
- Larry Diehl, Andy Delcambre, Chris Kampmeier
-
fix an exception when an IO is passed in as a fake response body
- Chris Kampmeier
-
stub responses with no bodies (e.g. to a HEAD request) now return nil for body, not an empty string, to match Net::HTTP's behavior [Myron Marston]
-
fix warnings on post-1.8 versions of Ruby [Peter Hellberg, Kenichi Kamiya]
-
fix that the options hash passed to
FakeWeb.register_uri
would sometimes be modified [Chris Kampmeier] -
raise an ArgumentError when
FakeWeb.register_uri
's third argument can't be handled as an options hash [David Cornu, Josef Strzibny, Chris Kampmeier] -
raise the more-specific ArgumentError instead of StandardError when the object passed to
FakeWeb.register_uri
's :response option can't be handled; this should be relatively backwards-compatible because ArgumentError descends from StandardError [Chris Kampmeier] -
deprecation warnings now detect the caller more robustly to work with JRuby's backtraces [Chris Kampmeier]
fakeweb (1.3.0)
-
improve response header registration so you can pass an array to set a header more than once [Myron Marston]
-
fix an exception when the response's :body option was set to nil [Chris Zingel]
-
fix that stubbed requests weren't mutating the Net::HTTP request object to set the body and content-length, like real requests do [Chris Kampmeier]
-
add
FakeWeb.last_request
[Chris Kampmeier] -
assigning a String or Regexp to
FakeWeb.allow_net_connect=
sets a whitelist for outbound requests [Dan Dofter, Tim Carey-Smith, Ben Woosley]
fakeweb (1.2.8)
-
support Pathname objects where a filename is expected [Chris Kampmeier]
-
fix compatibility with Ruby 1.9.2 [Chris Kampmeier]
-
simplify storage of FakeWeb::VERSION [Josh Peek, Woody Peterson, Ben Woosley]
fakeweb (1.2.7)
-
revert to sorting query params before matching requests against regexps, instead of the 1.2.6 behavior that tried every possible order combination; that was factorial-time, which made matching hang for requests with long query strings [Jason Wadsworth, David Dollar, Blaine Cook]
-
print a warning when
FakeWeb
is loaded before RightHttpConnection or after Samuel, other libs that patch Net::HTTP [Chris Kampmeier, Ben Brinckerhoff]
fakeweb (1.2.6)
-
fix that query params in a regex would have to be sorted for it to ever match a request URI [Chris Kampmeier, Ben Hall]
-
improve regex handling so registration with an explicit port (like /example.com:80/) matches a request that uses an implied port (like “example.com/”) [Chris Kampmeier, Dan Dofter]
-
refactor URI registry to reduce duplication; now about twice as fast at handling requests [Chris Kampmeier]
-
Add FakeWeb::VERSION so you can programmatically determine what version of
FakeWeb
is loaded without using RubyGems [Chris Kampmeier, Chris Wanstrath]
fakeweb (1.2.5)
-
fix handling of userinfo strings that contain percent-encoded unsafe characters [Chris Kampmeier, Ken Mayer]
-
fix that exact matches against strings/URIs with the :any method had a lower precedence than regex matches using a real HTTP method (exact matches now always take precedence) [Chris Kampmeier]
-
change request handling to raise an exception when more than one registered regex matches a request URI [Chris Kampmeier]
fakeweb (1.2.4)
-
add experimental support for matching URIs via regular expressions
- Jacqui Maher, Tiago Albineli Motta, Peter Wagene
-
fix an exception when registering with the :response option and a string that is the same as the name of a directory in the current path [Chris Kampmeier]
-
DEPRECATION: Calling
FakeWeb.register_uri
with a :string or :file option is now deprecated. Both options have been replaced with a unified :body option, since they supply the response body (as opposed to :response, which supplies the full response including headers) [Chris Kampmeier] -
add support for specifying HTTP headers as options to
FakeWeb.register_uri
when using the :string or :file response types, since those methods only specify a response body [David Michael, Chris Kampmeier] -
DEPRECATION: Calling
FakeWeb.register_uri
andFakeWeb.registered_uri?
without an HTTP method as the first argument is now deprecated. To match against any HTTP method (the pre-1.2.0 behavior), use :any [Chris Kampmeier]
fakeweb (1.2.3)
-
fix the http_version of :file and :string responses, which was returning the request URI instead of something sensible like “1.0” [Chris Kampmeier]
-
add method aliases in the Net::HTTP patch to eliminate warnings when running with -w [Joshua Clingenpeel]
-
fix that removing the redefinition of OpenURI::HTTPError in 1.2.0 caused :exception responses to raise when OpenURI isn't available [Chris Kampmeier]
-
fix registering an :exception response with classes that require arguments for instantiation, like Interrupt's subclasses [Chris Kampmeier]
fakeweb (1.2.2)
-
fix that HTTP Digest and OAuth requests could raise URI::InvalidURIErrors
- Bill Kocik, Chris Kampmeier
fakeweb (1.2.1)
-
fix that query parameters are handled correctly when registering with a URI object [Anselmo Alves, Chris Kampmeier]
-
fix an exception when registering with the :response option and a string containing “0” [Jonathan Baudanza, Chris Kampmeier]
-
fix that trailing slashes were considered significant for requests to the root of a domain [Chris Kampmeier]
-
add support for HTTP basic authentication via userinfo strings in URIs
- Michael Bleigh
fakeweb (1.2.0)
-
add lib/fakeweb.rb so you can require “fakeweb” as well [Chris Kampmeier]
-
fix compatibility with Ruby 1.9.1 [Chris Kampmeier]
-
fix that newlines in file-based responses could be doubled in the response object's body [Mark Menard, Chris Kampmeier]
-
fix unnecessary munging of the transfer-encoding header, which improves compatibility with mechanize [Mark Menard]
-
fix a test and the RCov dependency to be compatible with JRuby [Mark Menard]
-
remove an unnecessary redefinition of OpenURI::HTTPError [Josh Nichols]
-
rearrange implementation code into separate files, one per class [Josh Nichols]
-
fix a bug where FakeWeb.response_for would raise if the request wasn't registered [Chris Kampmeier]
-
add HTTP method support, so
FakeWeb
takes both the URI and method into account for registration, requests, and responses. Backwards-compatible with the old method signatures, which didn't have a method param. [Chris Kampmeier] -
start work on Ruby 1.9 compatibility [Chris Kampmeier]
-
add
FakeWeb.allow_net_connect=
to enable/disable the pass-through to Net::HTTP for unregistered URIs [Mislav Marohnić, Chris Kampmeier] -
remove setup.rb, since most people use RubyGems [Mislav Marohnić]
-
fix that 'example.com/?' (empty query) matches a registered 'example.com/', and vice-versa [Mislav Marohnić]
-
improve the test suite to not rely on an internet connection [Chris Kampmeier]
-
use `rake test` instead of `rake tests` [Josh Nichols]
-
fix an incompatibility with Ruby 1.8.6 p36 where you'd get “Errno::EINTR: Interrupted system call” exceptions in Socket#sysread for any non-faked request [Chris Kampmeier]
-
response rotation: you can now optionally call
FakeWeb.register_uri
with an array of options hashes; these are used, in order, to respond to repeated requests (to repeat a response more than once before rotating, use the :times option). Once you run out of responses, further requests always receive the last response. [Michael Shapiro] -
add support for Net::HTTP's undocumented full-URI request style (fixes URI::InvalidURIErrors that you might see in older libraries) [Chris Kampmeier]
-
sort query params before storing internally, so that example.com/?a=1&b=2 and example.com/?b=2&a=1 are considered the same URL (although this is technically incorrect, it's much more convenient–most web apps work that way, and Net::HTTP's use of a hash to pass query params means that the order in which
FakeWeb
stores them can be unpredictable) [Chris Kampmeier] -
add support for ports in URLs, so that example.com/ and example.com:3000/ are not the same [Chris Kampmeier]
-
fix for non-faked SSL requests failing with “Unable to create local socket”
- Chris Kampmeier
-
update Rakefile to fix warning about deprecated code [Chris Kampmeier]
fakeweb (1.1.2)
-
add required dependencies to GemSpec to ensure that tests pass in firebrigade (firebrigade.seattlerb.org/) [Blaine Cook]
fakeweb (1.1.1)
-
fix for non-existence of :string method on File as presented by open-uri
- Blaine Cook
-
fix for curl example test - google redirects to ccTLDs for those outside US
- Blaine Cook
fakeweb (1.1.0)
-
update code to correspond to ruby 1.8.4 (breaks compatibility with ruby 1.8.2)
- Blaine Cook
fakeweb (1.0.0)
* initial import [Blaine Cook]