diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml
index c460dbe7fe18b1fe4690143ee87bce1f9c33f11b..d1c2fff0528b8f152258b45cad57637c5cbba4b7 100644
--- a/.rubocop_manual_todo.yml
+++ b/.rubocop_manual_todo.yml
@@ -2211,7 +2211,6 @@ Performance/OpenStruct:
     - 'lib/gitlab/ci/ansi2html.rb'
     - 'lib/gitlab/git/diff_collection.rb'
     - 'lib/gitlab/import_export/after_export_strategies/base_after_export_strategy.rb'
-    - 'lib/gitlab/testing/request_inspector_middleware.rb'
     - 'lib/mattermost/session.rb'
 
 # WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/324629
diff --git a/lib/gitlab/testing/request_inspector_middleware.rb b/lib/gitlab/testing/request_inspector_middleware.rb
index 36cdfebcc286339a5fc5c6ece596aabd42379166..3cbe97cd84cee6732f0e8bca6b70ca6eb7c5fbcb 100644
--- a/lib/gitlab/testing/request_inspector_middleware.rb
+++ b/lib/gitlab/testing/request_inspector_middleware.rb
@@ -9,6 +9,8 @@ module Gitlab
       @@logged_requests = Concurrent::Array.new
       @@inject_headers = Concurrent::Hash.new
 
+      Request = Struct.new(:url, :status_code, :request_headers, :response_headers, :body, keyword_init: true)
+
       # Resets the current request log and starts logging requests
       def self.log_requests!(headers = {})
         @@inject_headers.replace(headers)
@@ -40,7 +42,7 @@ module Gitlab
         full_body = +''
         body.each { |b| full_body << b }
 
-        request = OpenStruct.new(
+        request = Request.new(
           url: url,
           status_code: status,
           request_headers: request_headers,