File tree Expand file tree Collapse file tree 2 files changed +25
-12
lines changed Expand file tree Collapse file tree 2 files changed +25
-12
lines changed Original file line number Diff line number Diff line change @@ -142,19 +142,17 @@ public function addResponseFilter($filter)
142142     */ 
143143    protected  function  applyRequestFilter (Request   $ request )
144144    {
145-         $ callback  =  function ( $ filter )  use  ( $ request  )
145+         foreach  ( $ this -> requestFilters   as   $ filter  )
146146        {
147147            if  ($ filter  instanceof  RequestFilterInterface)
148148            {
149-                 return   $ filter ->filter ($ request );
149+                 $ request  =  $ filter ->filter ($ request ) ?:  $ request  ;
150150            }
151151            else  if  ($ filter  instanceof  Closure)
152152            {
153-                 return   $ filter ($ request );
153+                 $ request  =  $ filter ($ request ) ?:  $ request  ;
154154            }
155-         };
156- 
157-         array_map ($ callback , $ this  ->requestFilters );
155+         }
158156
159157        return  $ request ;
160158    }
@@ -167,19 +165,17 @@ protected function applyRequestFilter(Request $request)
167165     */ 
168166    protected  function  applyResponseFilter (Response   $ response )
169167    {
170-         $ callback  =  function ( $ filter )  use  ( $ response  )
168+         foreach  ( $ this -> responseFilters   as   $ filter  )
171169        {
172170            if  ($ filter  instanceof  ResponseFilterInterface)
173171            {
174-                 return   $ filter ->filter ($ response );
172+                 $ response  =  $ filter ->filter ($ response ) ?:  $ response  ;
175173            }
176174            else  if  ($ filter  instanceof  Closure)
177175            {
178-                 return   $ filter ($ response );
176+                 $ response  =  $ filter ($ response ) ?:  $ response  ;
179177            }
180-         };
181- 
182-         array_map ($ callback , $ this  ->responseFilters );
178+         }
183179
184180        return  $ response ;
185181    }
Original file line number Diff line number Diff line change @@ -159,4 +159,21 @@ public function to_applies_response_filter_closure()
159159        $ this  ->assertTrue ($ executed );
160160    }
161161
162+     /** 
163+      * @test 
164+      */ 
165+     public  function  to_request_filter_returns_new_request ()
166+     {
167+         $ replace  = new  Request ;
168+ 
169+         $ this  ->proxy ->addRequestFilter (function (Request   $ request ) use  ($ replace )
170+         {
171+             return  $ replace ;
172+         });
173+ 
174+         $ this  ->proxy ->forward (Request::createFromGlobals ())->to ('/ ' );
175+ 
176+         $ this  ->assertEquals ($ this  ->proxy ->getRequest (), $ replace );
177+     }
178+ 
162179}
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments