sourceafBedSheet::ResponseProcessor.fan


** Implement to define a 'ResponseProcessor'. 
** 
** 'ResponseProcessors' are responsible for processing the return values from request handlers. Often this involves 
** sending content to the client. 
** 
** Example 'ResponseProcessors' that are provided by BedSheet are:
**  - 'RedirectProcessor' - sets the 'Location' HTTP response header and a corresponding HTTP status code. 
**  - 'TextProcessor' - sets the 'Content-Type' HTTP response header and sends the text to the client.
** 
** IoC Configuration
** =================
** Instances of 'ResponseProcessor' should be contributed to the 'ResponseProcessors' service and mapped to an 
** 'Type' representing the object it handles. 
** 
** For example, in your 'AppModule' class:
** 
** pre>
** syntax: fantom 
** @Contribute { serviceType=ResponseProcessors# }
** Void contributeResponseProcessors(Configuration config) {
**     config[User#] = UserInfoPage()
** }
** <pre
const mixin ResponseProcessor {
    
    ** Return 'true' if a response has been sent to the client and all processing has finished. 
    ** Else return a response object for further processing, example, `Text` or `HttpStatus`. 
    abstract Obj process(Obj response)
        
}