Merge remote-tracking branch 'origin/debug-suggestions-api' into correct-and-improve...
[akkoma] / lib / pleroma / plugs / http_signature.ex
index 38bcd3a782d688d3748e710bd3de912206cff64d..9e53371b74664baa54a8bede27db3079fa1e406d 100644 (file)
@@ -19,6 +19,8 @@ defmodule Pleroma.Web.Plugs.HTTPSignaturePlug do
 
     cond do
       signature && String.contains?(signature, user) ->
+        # set (request-target) header to the appropriate value
+        # we also replace the digest header with the one we computed
         conn =
           conn
           |> put_req_header(
@@ -26,6 +28,14 @@ defmodule Pleroma.Web.Plugs.HTTPSignaturePlug do
             String.downcase("#{conn.method}") <> " #{conn.request_path}"
           )
 
+        conn =
+          if conn.assigns[:digest] do
+            conn
+            |> put_req_header("digest", conn.assigns[:digest])
+          else
+            conn
+          end
+
         assign(conn, :valid_signature, HTTPSignatures.validate_conn(conn))
 
       signature ->