Fixed a bug around starting pools. Thanks, @reisub!
Marked compatibility with Telemetry 1.0. Thanks, @jchristgit!
Improved docs. Thanks, @kianmeng!
Fixed a few bugs around connection handling and chunk sizing. Thanks to @reisub, @fahchen, @bmteller.
Added Mojito.Telemetry. Thanks, @andyleclair! And thanks to the Finch team, whose telemetry implementation informed this one.
Fixed a bug around HTTP/2 responses larger than 64kB. Thanks for the reports, @dch and @jayjun!
Reduced memory footprint of idle Mojito pools by forcing GC after requests complete. Thanks for the reports, @axelson and @hubertlepicki!
Fixed packaging bug in 0.7.4.
Fixed handling of Mint error responses. Thanks, @alexandremcosta!
Fixed a Dialyzer warning around keyword lists. Thanks, @Vaysman!
Moved core Mojito functions into separate Mojito.Base
module for
easier interoperation with mocking libraries like Mox. Thanks,
@bcardarella!
Fixed typespecs.
Fixed bug where Mojito failed to correctly handle responses with
a connection: close
header. Thanks,
@bmteller!
Added the :max_body_size
option, to prevent a response body from
growing too large. Thanks, @rozap!
Fixed bug where sending an empty string request body would hang certain HTTP/2 requests. Thanks for the report, @Overbryd!
gzip
ped or deflate
d responses are automatically expanded by
Mojito. Thanks, @mogorman!
The Freedom Formatter has been removed. mix format
is now applied.
Header values are now stringified on their way to Mint. Thanks, @egze!
Timeouts of :infinity
are now supported. Thanks,
@t8rsalad!
Internal refactor to support different pool implementations. No features were added or changed.
Code formatting improvements in docs. Thanks, @sotojuan!
Upgraded to Mint 1.0. Thanks, @esvinson!
Fixed typo in CHANGELOG. Thanks, @alappe!
Fixed bug where timed-out responses could arrive in connection with the next request from that caller. Thanks for the report and the test case, @seanedwards!
Refactored to use %Mojito.Request{}
structs more consistently across
internal Mojito functions.
Upgraded to Mint 0.4.0.
Requests are automatically retried when we attempt to reuse a closed connection.
Added Mojito.Headers.auth_header/2
helper for formintg HTTP Basic
Authorization
header.
Don't pass the URL fragment to Mint when making requests. Thanks @alappe!
Improved examples and docs around making POST requests. Thanks @hubertlepicki!
Removed noisy debug output. Thanks for the report, @bcardarella!
Major refactor.
All end-user requests pass through Mojito.request/1
, which now
accepts keyword list input as well. Mojito.request/5
remains
as an alias, and convenience methods for get/3
, post/4
, put/4
,
patch/4
, delete/3
, head/3
, and options/3
have been added
(thanks, @danhuynhdev!).
Connection pools are handled automatically, sorting requests to the correct pools, starting pools when necessary, and maintaining multiple redundant pools for GenServer efficiency.
Fixed a bug where long requests could exceed the given timeout without failing (#17). Thanks for the report, @mischov!
Improved documentation about receiving :tcp
and :ssl
messages.
Thanks for the report,
@axelson!
Removed an extra Task
process creation in Mojito.Pool.request/2
.
Refactored Mojito.request/5
so it doesn't spawn a process. Now all
TCP messages are handled within the caller process.
Added Mojito.request/1
and Mojito.Pool.request/2
, which accept a
%Mojito.Request{}
struct as input.
Removed dependency on Fuzzyurl in favor of built-in URI module.
Messages sent by Mojito now contain a :mojito_response
prefix, to allow
processes to select or ignore these messages with receive
.
Thanks @AnilRedshift!
Upgraded to Mint 0.2.0.
request/5
emits better error messages when confronted with nil or blank
method or url. Thanks @AnilRedshift!
Initial release, based on Mint 0.1.0.