mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 10:15:27 +08:00 
			
		
		
		
	Feature/docs (#165)
* initial readthedocs commit * docs moved to sphinx / rst / read the docs
This commit is contained in:
		
							
								
								
									
										41
									
								
								docs/features/middlewareinjection.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								docs/features/middlewareinjection.rst
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
Middleware Injection and Overrides
 | 
			
		||||
==================================
 | 
			
		||||
 | 
			
		||||
Warning use with caution. If you are seeing any exceptions or strange behavior in your middleware 
 | 
			
		||||
pipeline and you are using any of the following. Remove them and try again!
 | 
			
		||||
 | 
			
		||||
When setting up Ocelot in your Startup.cs you can provide some additonal middleware 
 | 
			
		||||
and override middleware. This is done as follos.
 | 
			
		||||
 | 
			
		||||
.. code-block:: csharp
 | 
			
		||||
 | 
			
		||||
    var configuration = new OcelotMiddlewareConfiguration
 | 
			
		||||
    {
 | 
			
		||||
        PreErrorResponderMiddleware = async (ctx, next) =>
 | 
			
		||||
        {
 | 
			
		||||
            await next.Invoke();
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    app.UseOcelot(configuration);
 | 
			
		||||
 | 
			
		||||
In the example above the provided function will run before the first piece of Ocelot middleware. 
 | 
			
		||||
This allows a user to supply any behaviours they want before and after the Ocelot pipeline has run.
 | 
			
		||||
This means you can break everything so use at your own pleasure!
 | 
			
		||||
 | 
			
		||||
The user can set functions against the following.
 | 
			
		||||
 | 
			
		||||
* PreErrorResponderMiddleware - Already explained above.
 | 
			
		||||
 | 
			
		||||
* PreAuthenticationMiddleware - This allows the user to run pre authentication logic and then call Ocelot's authentication middleware.
 | 
			
		||||
 | 
			
		||||
* AuthenticationMiddleware - This overrides Ocelots authentication middleware.
 | 
			
		||||
 | 
			
		||||
* PreAuthorisationMiddleware - This allows the user to run pre authorisation logic and then call Ocelot's authorisation middleware.
 | 
			
		||||
 | 
			
		||||
* AuthorisationMiddleware - This overrides Ocelots authorisation middleware.
 | 
			
		||||
 | 
			
		||||
* PreQueryStringBuilderMiddleware - This alows the user to manipulate the query string on the http request before it is passed to Ocelots request creator.
 | 
			
		||||
 | 
			
		||||
Obviously you can just add middleware as normal before the call to app.UseOcelot() It cannot be added
 | 
			
		||||
after as Ocelot does not call the next middleware.
 | 
			
		||||
		Reference in New Issue
	
	Block a user