Getting started Community Training Tutorials Documentation APIs, AI & Tools
@EmitsResponse (1)
public class HttpListener extends Source<InputStream, HttpRequestAttributes> {
@Override
public void onStart(SourceCallback<InputStream, HttpRequestAttributes> sourceCallback) throws MuleException {
httpServer = serverProvider.connect();
httpServer.listen(path).onRequest(request -> {
SourceCallbackContext ctx = sourceCallback.createContext(); (2)
ctx.setVariable("responseContext", new HttpResponseContext(request.getResponseSender())); (3)
Result<InputStream, HttpRequestAttributes> result = requestToResult(request);
sourceCallback.handle(result, ctx); (4)
});
}
@OnSuccess
public void onSuccess(@Content String responseBody,
@Optional String responseStatusCode,
SourceCallbackContext callbackContext) (5)
throws Exception {
if (hasResponse(responseStatusCode)) { (6)
HttpResponseContext responseContext = callbackContext.getVariable("responseContext"); (7)
responseContext.sendResponse(responseBody, statusCode); (8)
}
}
}



