@@ -45,7 +45,7 @@ def initialize(contents, filepath = nil)
4545 # @param [Boolean] raise_error Whether to raise an error if validation fails.
4646 # @return [ValidatedRequest] The validated request object.
4747 def validate_request ( request , raise_error : false )
48- route = @router . match ( request . request_method , request . path , content_type : request . content_type )
48+ route = @router . match ( request . request_method , resolve_path ( request ) , content_type : request . content_type )
4949 if route . error
5050 ValidatedRequest . new ( request , error : route . error )
5151 else
@@ -62,7 +62,8 @@ def validate_request(request, raise_error: false)
6262 # @param raise_error [Boolean] Whethir to raise an error if validation fails.
6363 # @return [ValidatedResponse] The validated response object.
6464 def validate_response ( rack_request , rack_response , raise_error : false )
65- route = @router . match ( rack_request . request_method , rack_request . path , content_type : rack_request . content_type )
65+ route = @router . match ( rack_request . request_method , resolve_path ( rack_request ) ,
66+ content_type : rack_request . content_type )
6667 return if route . error # Skip response validation for unknown requests
6768
6869 response_match = route . match_response ( status : rack_response . status , content_type : rack_response . content_type )
@@ -76,5 +77,11 @@ def validate_response(rack_request, rack_response, raise_error: false)
7677 raise validated . error . exception ( validated ) if raise_error && validated . invalid?
7778 end
7879 end
80+
81+ private
82+
83+ def resolve_path ( rack_request )
84+ rack_request . env [ PATH ] || rack_request . path
85+ end
7986 end
8087end
0 commit comments