diff --git a/CHANGELOG.md b/CHANGELOG.md index ec62deb9..b0e6546d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,14 +7,21 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). ## [Unreleased] ### Added -- jwt: new JSON Web Token (JWT) library (supports for claim exp, iat, nbf, iss, aud). +- `jwt`: new JSON Web Token (JWT) library (supports for claim exp, iat, nbf, iss, aud). +- `http_client`: added support for ciphers setting in the libcurl implementation only. +- `http_client`: added convenient `get` and `custom` functions on HTTP_CLIENT directly. ### Changed +- adopted ecf version 1-16-0 and use a single .ecf file (the -safe.ecf are now redirection to normal .ecf) ### Deprecated +- removed support for Eiffel version before 17.05 . +- SSL 2 or 3 is obsolete and will raise an exception if used. ### Removed ### Fixed - Removed a few obsolete calls. - `http_client`: Added support for multiple file in form data. Made clear what is the meaning of `upload_filename`, `upload_data` and `form_data`. +- `authentication`: HTTP_AUTHORIZATION acceps now READABLE_STRING_GENERAL for username and password argument. +- `http_client`: fixed curl implementation by setting `Content-Type` to `x-www-form-urlencoded` (if not set) when POST send data as `x-www-form-urlencoded`. ### Security diff --git a/library/network/http_client/src/spec/libcurl/libcurl_http_client_request.e b/library/network/http_client/src/spec/libcurl/libcurl_http_client_request.e index 37a784b6..4c540501 100644 --- a/library/network/http_client/src/spec/libcurl/libcurl_http_client_request.e +++ b/library/network/http_client/src/spec/libcurl/libcurl_http_client_request.e @@ -206,7 +206,10 @@ feature -- Execution l_use_curl_form := True end else + l_headers.force ("application/x-www-form-urlencoded", "Content-Type") l_upload_data := ctx.form_parameters_to_x_www_form_url_encoded_string + curl_easy.setopt_string (curl_handle, {CURL_OPT_CONSTANTS}.curlopt_postfields, l_upload_data) + curl_easy.setopt_integer (curl_handle, {CURL_OPT_CONSTANTS}.curlopt_postfieldsize, l_upload_data.count) end if l_use_curl_form then create l_form.make