From 745263f175bee7b0af778d0bd4246939c2bedafa Mon Sep 17 00:00:00 2001 From: preciz Date: Wed, 26 Aug 2026 11:41:04 +0200 Subject: [PATCH] Optimize path splitting --- lib/plug/adapters/test/conn.ex | 3 +-- lib/plug/conn/adapter.ex | 3 +-- lib/plug/router/utils.ex | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/plug/adapters/test/conn.ex b/lib/plug/adapters/test/conn.ex index ebec2025..0efcaab7 100644 --- a/lib/plug/adapters/test/conn.ex +++ b/lib/plug/adapters/test/conn.ex @@ -227,8 +227,7 @@ defmodule Plug.Adapters.Test.Conn do defp split_path(nil), do: [] defp split_path(path) do - segments = :binary.split(path, "/", [:global]) - for segment <- segments, segment != "", do: segment + :binary.split(path, "/", [:global, :trim_all]) end @already_sent {:plug_conn, :sent} diff --git a/lib/plug/conn/adapter.ex b/lib/plug/conn/adapter.ex index 361eb460..fd995c27 100644 --- a/lib/plug/conn/adapter.ex +++ b/lib/plug/conn/adapter.ex @@ -52,8 +52,7 @@ defmodule Plug.Conn.Adapter do end defp split_path(path) do - segments = :binary.split(path, "/", [:global]) - for segment <- segments, segment != "", do: segment + :binary.split(path, "/", [:global, :trim_all]) end @doc """ diff --git a/lib/plug/router/utils.ex b/lib/plug/router/utils.ex index d7f6bb1f..bd5e99a7 100644 --- a/lib/plug/router/utils.ex +++ b/lib/plug/router/utils.ex @@ -278,7 +278,7 @@ defmodule Plug.Router.Utils do """ def split(bin) do - for segment <- String.split(bin, "/"), segment != "", do: segment + :binary.split(bin, "/", [:global, :trim_all]) end @deprecated "Use Plug.forward/4 instead"