- "composer.json" -> provide "psr/http-factory-implementation"
- minimal PHP version 7.4
- allow to use "psr/http-message" 2.0.*
- allow to use "psr/log" 2.0.* || 3.0.*
breaking change:
- "Response->hasBody()" was fixed, now it will return
false
for an empty body - "Request->getUri()" now always returns an
UriInterface
, if we need the old behaviors, use can use "Request->getUriOrNull()" - "Stream->getContents()" now always returns a
string
, if we need the old behaviors, use can use "Stream->getContentsUnserialized()" - "psr/http-message" v2 has return types, so you need to use them too, if you extend one of this classes
- use "ReturnTypeWillChange" to ignore return type changes from PHP >= 8.1
- update dependencies "httplug / http-message"
- update "portable-utf8"
- fix file upload
- "XmlMimeHandler" -> show the broken xml
- fixes for phpdoc only
- fix for old PHP versions
- use Github Actions
- update vendor stuff + fix tests
- "Client->download()" -> added timeout parameter
- "HtmlMimeHandler" -> fix non UTF-8 string input
- "Response" -> fix Header-Parsing for empty responses
- add "Request->withPort(int $port)"
- fix "Request Body Not Preserved" #7
- "ClientMulti" -> add "add_html()"
- merge upstream fixes from https://github.com/php-curl-class/php-curl-class/
- optimize "RequestInterface"-integration
- add "ClientPromise" (\Http\Client\HttpAsyncClient)
- return $this for many methods from "Curl" & "MultiCurl"
- optimize the speed of "MultiCurl"
- use phpstan (0.12) + add more phpdocs
- add $params for "GET" / "DELETE" requests
- free some more memory
- more helpfully exception messages
- fixes callbacks for "ClientMulti"
- fix all bugs reported by phpstan
- clean-up dependencies
- fix async support for POST data
- add support for async requests via CurlMulti
- add new header functions + many tests
- fix implementation of PSR standards + many tests
- fix "addHeaders()"
- fix return types of "Handlers"
- add more helper functions for "Client" (with auto-completion via phpdoc)
- make more properties private && classes final v2
- fix array usage with "Stream"
- move "Request->init" into the "__constructor"
- rename some internal classes + methods
- FEATURE Add "PSR-3" logging
- FEATURE Add "PSR-18" HTTP Client - "\Httpful\Client"
- FEATURE Add "PSR-7" - RequestInterface && ResponseInterface
- fix issues reported by phpstan (level 7)
- make properties private && classes final v1
- update vendor
- fix return types
- drop support for < PHP7
- use return types
- "Add convenience methods for appending parameters to query string." PR #65
- "Give more information to the Exception object to enable better error handling" PR #117
- "Solves issue #170: HTTP Header parsing is inconsistent" PR #182
- "added support for http_proxy environment variable" PR #183
- "Fix for frameworks that use object proxies" + fixes phpdoc PR #205
- "ConnectionErrorException cURLError" PR #207
- "Added explicit support for expectsXXX" PR #210
- "Add connection timeout" PR #215
- use "portable-utf8" voku
- fixed code-style / added php-docs / added "alias"-methods ... voku
- MINOR Move Response building logic into separate function PR #193
- FEATURE PR #144 Adds additional parameter to the Response class to specify additional meta data about the request/response (e.g. number of redirect).
- FEATURE Added support for whenError to define a custom callback to be fired upon error. Useful for logging or overriding the default error_log behavior.
- FEATURE I #131 Support for SOCKS proxy
- FEATURE I #138 Added alternative option for XML request construction. In the next major release this will likely supplant the older version.
- REFACTOR I #121 Throw more descriptive exception on curl errors
- REFACTOR I #122 Better proxy scrubbing in Request
- REFACTOR I #119 Better document the mimeType param on Request::body
- Misc code and test cleanup
- REFACTOR I #123 Support new curl file upload method
- FEATURE I #118 5.4 HTTP Test Server
- FIX I #109 Typo
- FIX I #103 Handle also CURLOPT_SSL_VERIFYHOST for strictSsl mode
- FIX I #99 Prevent hanging on HEAD requests
- FIX I #93 Fixes edge case where content-length would be set incorrectly
- FEATURE I #89 multipart/form-data support (a.k.a. file uploads)! Thanks @dtelaroli!
- FIX Notice fix for Pull Request 86
- FIX I #86 Remove Connection Established header when using a proxy
- FIX I #85 Empty Content Length issue resolved
- FEATURE I #77 Convenience method for setting a timeout (seconds)
$req->timeoutIn(10);
- FIX I #75 I #78 Bug with checking if digest auth is being used.
- FIX Overriding default Mime Handlers
- FIX PR #73 Parsing http status codes
- FEATURE Add support for parsing JSON responses as associative arrays instead of objects
- FEATURE Better support for setting constructor arguments on Mime Handlers
- FEATURE PR #72 Allow support for custom Accept header
- REFACTOR PR #49 Broke headers out into their own class
- REFACTOR PR #54 Added more specific Exceptions
- FIX PR #58 Fixes throwing an error on an empty xml response
- FEATURE PR #57 Adds support for digest authentication
- Ability to set the number of max redirects via overloading
followRedirects(int max_redirects)
- Standards Compliant fix to
Accepts
header - Bug fix for bootstrap process when installed via Composer
- Use
DIRECTORY_SEPARATOR
constant PR #33 - PR #35
- Added the raw_headers property reference to response.
- Compose request header and added raw_header to Request object.
- Fixed response has errors and added more comments for clarity.
- Fixed header parsing to allow the minimum (status line only) and also cater for the actual CRLF ended headers as per RFC2616.
- Added the perfect test Accept: header for all Acceptable scenarios see @b78e9e82cd9614fbe137c01bde9439c4e16ca323 for details.
- Added default User-Agent header
User-Agent: Httpful/0.1.5
+ curl version + server software + PHP version- To bypass this "default" operation simply add a User-Agent to the request headers even a blank User-Agent is sufficient and more than simple enough to produce me thinks.
- Completed test units for additions.
- Added phpunit coverage reporting and helped phpunit auto locate the tests a bit easier.
- Add support for CSV Handling PR #32
- Handle empty responses in JsonParser and XmlParser
- Added support for setting XMLHandler configuration options
- Added examples for overriding XmlHandler and registering a custom parser
- Removed the httpful.php download (deprecated in favor of httpful.phar)
- Bug fix serialization default case and phpunit tests
- Added Support for Registering Mime Handlers
- Created AbstractMimeHandler type that all Mime Handlers must extend
- Pulled out the parsing/serializing logic from the Request/Response classes into their own MimeHandler classes
- Added ability to register new mime handlers for mime types