From 347f5ea0d6303cae08efcd1b9daf99563c8c476c Mon Sep 17 00:00:00 2001 From: preciz Date: Sun, 18 Aug 2024 21:26:46 +0200 Subject: [PATCH 1/4] Fix typos and improve language --- .../tesla/middleware/path_params.ex | 0 lib/tesla.ex | 2 +- lib/tesla/adapter/mint.ex | 2 +- lib/tesla/builder.ex | 2 +- lib/tesla/middleware/form_urlencoded.ex | 2 +- lib/tesla/middleware/keep_request.ex | 4 ++-- lib/tesla/middleware/telemetry.ex | 8 ++++---- lib/tesla/middleware/timeout.ex | 2 +- lib/tesla/multipart.ex | 2 +- test/tesla/middleware/digest_auth_test.exs | 2 +- test/tesla/middleware/json_test.exs | 2 +- 11 files changed, 14 insertions(+), 14 deletions(-) create mode 100644 Fixed SEARCH/REPLACE block for `lib/tesla/middleware/path_params.ex diff --git a/Fixed SEARCH/REPLACE block for `lib/tesla/middleware/path_params.ex b/Fixed SEARCH/REPLACE block for `lib/tesla/middleware/path_params.ex new file mode 100644 index 000000000..e69de29bb diff --git a/lib/tesla.ex b/lib/tesla.ex index 209d04027..0d82f3c0a 100644 --- a/lib/tesla.ex +++ b/lib/tesla.ex @@ -171,7 +171,7 @@ defmodule Tesla do @doc """ Adds given key/value pair to `:opts` field in `Tesla.Env`. - Useful when there's need to store additional middleware data in `Tesla.Env` + Useful when there's a need to store additional middleware data in `Tesla.Env` ## Examples diff --git a/lib/tesla/adapter/mint.ex b/lib/tesla/adapter/mint.ex index 958964a1a..57b1a7a5b 100644 --- a/lib/tesla/adapter/mint.ex +++ b/lib/tesla/adapter/mint.ex @@ -315,7 +315,7 @@ if Code.ensure_loaded?(Mint.HTTP) do {:error, _conn, error, _res} -> if opts[:close_conn], do: {:ok, _conn} = close(conn) - {:error, "Encounter Mint error #{inspect(error)}"} + {:error, "Encountered Mint error #{inspect(error)}"} :unknown -> if opts[:close_conn], do: {:ok, _conn} = close(conn) diff --git a/lib/tesla/builder.ex b/lib/tesla/builder.ex index 98d3a7110..b89e51308 100644 --- a/lib/tesla/builder.ex +++ b/lib/tesla/builder.ex @@ -33,7 +33,7 @@ defmodule Tesla.Builder do - `:method` - the request method, one of [`:head`, `:get`, `:delete`, `:trace`, `:options`, `:post`, `:put`, `:patch`] - `:url` - either full url e.g. "http://example.com/some/path" or just "/some/path" if using `Tesla.Middleware.BaseUrl` - `:query` - a keyword list of query params, e.g. `[page: 1, per_page: 100]` - - `:headers` - a keyworld list of headers, e.g. `[{"content-type", "text/plain"}]` + - `:headers` - a keyword list of headers, e.g. `[{"content-type", "text/plain"}]` - `:body` - depends on used middleware: - by default it can be a binary - if using e.g. JSON encoding middleware it can be a nested map diff --git a/lib/tesla/middleware/form_urlencoded.ex b/lib/tesla/middleware/form_urlencoded.ex index 196ae68ba..c69762fa9 100644 --- a/lib/tesla/middleware/form_urlencoded.ex +++ b/lib/tesla/middleware/form_urlencoded.ex @@ -3,7 +3,7 @@ defmodule Tesla.Middleware.FormUrlencoded do Send request body as `application/x-www-form-urlencoded`. Performs encoding of `body` from a `Map` such as `%{"foo" => "bar"}` into - url encoded data. + URL-encoded data. Performs decoding of the response into a map when urlencoded and content-type is `application/x-www-form-urlencoded`, so `"foo=bar"` becomes diff --git a/lib/tesla/middleware/keep_request.ex b/lib/tesla/middleware/keep_request.ex index 4036f3547..a28036192 100644 --- a/lib/tesla/middleware/keep_request.ex +++ b/lib/tesla/middleware/keep_request.ex @@ -1,6 +1,6 @@ defmodule Tesla.Middleware.KeepRequest do @moduledoc """ - Store request url, body and headers into `:opts`. + Store request URL, body, and headers into `:opts`. ## Examples @@ -12,7 +12,7 @@ defmodule Tesla.Middleware.KeepRequest do plug Tesla.Middleware.PathParams end - {:ok, env} = MyClient.post("/users/:user_id", "request-data", opts: [path_params: [user_id: "1234]]) + {:ok, env} = MyClient.post("/users/:user_id", "request-data", opts: [path_params: [user_id: "1234"]]) env.body # => "response-data" diff --git a/lib/tesla/middleware/telemetry.ex b/lib/tesla/middleware/telemetry.ex index d7053211b..fa8f098fd 100644 --- a/lib/tesla/middleware/telemetry.ex +++ b/lib/tesla/middleware/telemetry.ex @@ -46,11 +46,11 @@ if Code.ensure_loaded?(:telemetry) do This event can be disabled by setting `config :tesla, Tesla.Middleware.Telemetry, disable_legacy_event: true` in your config. Be sure to run `mix deps.compile --force tesla` after changing this setting to ensure the change is picked up. - Please check the [telemetry](https://hexdocs.pm/telemetry/) for the further usage. + Please check the [telemetry](https://hexdocs.pm/telemetry/) for further usage. ## URL event scoping with `Tesla.Middleware.PathParams` and `Tesla.Middleware.KeepRequest` - Sometimes, it is useful to have access to a template url (i.e. `"/users/:user_id"`) for grouping + Sometimes, it is useful to have access to a template URL (i.e. `"/users/:user_id"`) for grouping Telemetry events. For such cases, a combination of the `Tesla.Middleware.PathParams`, `Tesla.Middleware.Telemetry` and `Tesla.Middleware.KeepRequest` may be used. @@ -58,7 +58,7 @@ if Code.ensure_loaded?(:telemetry) do defmodule MyClient do use Tesla - # The KeepRequest middleware sets the template url as a Tesla.Env.opts entry + # The KeepRequest middleware sets the template URL as a Tesla.Env.opts entry # Said entry must be used because on happy-path scenarios, # the Telemetry middleware will receive the Tesla.Env.url resolved by PathParams. plug Tesla.Middleware.KeepRequest @@ -72,7 +72,7 @@ if Code.ensure_loaded?(:telemetry) do fn event, measurements, meta, config -> path_params_template_url = meta.env.opts[:req_url] # The meta.env.url key will only present the resolved URL on happy-path scenarios. - # Error cases will still return the original template url. + # Error cases will still return the original template URL. path_params_resolved_url = meta.env.url end, nil diff --git a/lib/tesla/middleware/timeout.ex b/lib/tesla/middleware/timeout.ex index cc753ef15..90f4f3a4c 100644 --- a/lib/tesla/middleware/timeout.ex +++ b/lib/tesla/middleware/timeout.ex @@ -26,7 +26,7 @@ defmodule Tesla.Middleware.Timeout do - `:timeout` - number of milliseconds a request is allowed to take (defaults to `1000`) - `:task_module` - the `Task` module used to spawn tasks. Useful when you want - use alternatives such as `OpentelemetryProcessPropagator.Task` from OTEL + to use alternatives such as `OpentelemetryProcessPropagator.Task` from the OTEL project. """ diff --git a/lib/tesla/multipart.ex b/lib/tesla/multipart.ex index cce7fc9ea..2d6a291df 100644 --- a/lib/tesla/multipart.ex +++ b/lib/tesla/multipart.ex @@ -110,7 +110,7 @@ defmodule Tesla.Multipart do @doc """ Add a file part with value. - Same of `add_file/3` but the file content is read from `data` input argument. + Same as `add_file/3` but the file content is read from `data` input argument. ## Options diff --git a/test/tesla/middleware/digest_auth_test.exs b/test/tesla/middleware/digest_auth_test.exs index cbcb7166b..ae8cb7db3 100644 --- a/test/tesla/middleware/digest_auth_test.exs +++ b/test/tesla/middleware/digest_auth_test.exs @@ -73,7 +73,7 @@ defmodule Tesla.Middleware.DigestAuthTest do assert auth_header =~ "response=\"6629fae49393a05397450978507c4ef1\"" end - test "has default values for username and cn" do + test "has default values for username and nc" do assert {:ok, response} = DigestClientWithDefaults.client() |> DigestClient.get("/") auth_header = Tesla.get_header(response, "authorization") diff --git a/test/tesla/middleware/json_test.exs b/test/tesla/middleware/json_test.exs index b5c9f910b..98db96994 100644 --- a/test/tesla/middleware/json_test.exs +++ b/test/tesla/middleware/json_test.exs @@ -112,7 +112,7 @@ defmodule Tesla.Middleware.JsonTest do assert {:error, {Tesla.Middleware.JSON, :decode, _}} = Client.get("/invalid-json-format") end - test "raise error when decoding non-utf8 json" do + test "return error when decoding non-utf8 json" do assert {:error, {Tesla.Middleware.JSON, :decode, _}} = Client.get("/invalid-json-encoding") end end From 6d75bc7e6786de02abea8236c303977fd231efc6 Mon Sep 17 00:00:00 2001 From: Barna Kovacs Date: Mon, 19 Aug 2024 10:41:25 +0200 Subject: [PATCH 2/4] Remove accidentally commited file --- .../REPLACE block for `lib/tesla/middleware/path_params.ex | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Fixed SEARCH/REPLACE block for `lib/tesla/middleware/path_params.ex diff --git a/Fixed SEARCH/REPLACE block for `lib/tesla/middleware/path_params.ex b/Fixed SEARCH/REPLACE block for `lib/tesla/middleware/path_params.ex deleted file mode 100644 index e69de29bb..000000000 From 8d8781d84af2374cb2b0a5e48dff37a17db1ed23 Mon Sep 17 00:00:00 2001 From: preciz Date: Mon, 19 Aug 2024 19:27:50 +0200 Subject: [PATCH 3/4] Revert change to error message and add TODO --- lib/tesla/adapter/mint.ex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/tesla/adapter/mint.ex b/lib/tesla/adapter/mint.ex index 57b1a7a5b..bf9333d70 100644 --- a/lib/tesla/adapter/mint.ex +++ b/lib/tesla/adapter/mint.ex @@ -315,7 +315,8 @@ if Code.ensure_loaded?(Mint.HTTP) do {:error, _conn, error, _res} -> if opts[:close_conn], do: {:ok, _conn} = close(conn) - {:error, "Encountered Mint error #{inspect(error)}"} + # TODO: (breaking change) fix typo in error message + {:error, "Encounter Mint error #{inspect(error)}"} :unknown -> if opts[:close_conn], do: {:ok, _conn} = close(conn) From 5fe7cf90b1bcd1431d4413498c9a77826990191a Mon Sep 17 00:00:00 2001 From: preciz Date: Mon, 19 Aug 2024 19:30:54 +0200 Subject: [PATCH 4/4] Extend TODO --- lib/tesla/adapter/mint.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tesla/adapter/mint.ex b/lib/tesla/adapter/mint.ex index bf9333d70..03b91530b 100644 --- a/lib/tesla/adapter/mint.ex +++ b/lib/tesla/adapter/mint.ex @@ -315,7 +315,7 @@ if Code.ensure_loaded?(Mint.HTTP) do {:error, _conn, error, _res} -> if opts[:close_conn], do: {:ok, _conn} = close(conn) - # TODO: (breaking change) fix typo in error message + # TODO: (breaking change) fix typo in error message, "Encounter" => "Encountered" {:error, "Encounter Mint error #{inspect(error)}"} :unknown ->