Search in sources :

Example 1 with VertxRestInvocation

use of org.apache.servicecomb.common.rest.VertxRestInvocation in project java-chassis by ServiceComb.

the class VertxRestDispatcher method onRequest.

protected void onRequest(RoutingContext context) {
    if (transport == null) {
        transport = SCBEngine.getInstance().getTransportManager().findTransport(Const.RESTFUL);
        microserviceMeta = SCBEngine.getInstance().getProducerMicroserviceMeta();
    }
    HttpServletRequestEx requestEx = new VertxServerRequestToHttpServletRequest(context);
    HttpServletResponseEx responseEx = new VertxServerResponseToHttpServletResponse(context.response());
    if (SCBEngine.getInstance().isFilterChainEnabled()) {
        InvocationCreator creator = new RestVertxProducerInvocationCreator(context, microserviceMeta, transport.getEndpoint(), requestEx, responseEx);
        new RestProducerInvocationFlow(creator, requestEx, responseEx).run();
        return;
    }
    VertxRestInvocation vertxRestInvocation = new VertxRestInvocation();
    context.put(RestConst.REST_PRODUCER_INVOCATION, vertxRestInvocation);
    vertxRestInvocation.invoke(transport, requestEx, responseEx, httpServerFilters);
}
Also used : RestProducerInvocationFlow(org.apache.servicecomb.common.rest.RestProducerInvocationFlow) VertxServerResponseToHttpServletResponse(org.apache.servicecomb.foundation.vertx.http.VertxServerResponseToHttpServletResponse) HttpServletResponseEx(org.apache.servicecomb.foundation.vertx.http.HttpServletResponseEx) RestVertxProducerInvocationCreator(org.apache.servicecomb.common.rest.RestVertxProducerInvocationCreator) InvocationCreator(org.apache.servicecomb.core.invocation.InvocationCreator) VertxRestInvocation(org.apache.servicecomb.common.rest.VertxRestInvocation) HttpServletRequestEx(org.apache.servicecomb.foundation.vertx.http.HttpServletRequestEx) VertxServerRequestToHttpServletRequest(org.apache.servicecomb.foundation.vertx.http.VertxServerRequestToHttpServletRequest) RestVertxProducerInvocationCreator(org.apache.servicecomb.common.rest.RestVertxProducerInvocationCreator)

Aggregations

RestProducerInvocationFlow (org.apache.servicecomb.common.rest.RestProducerInvocationFlow)1 RestVertxProducerInvocationCreator (org.apache.servicecomb.common.rest.RestVertxProducerInvocationCreator)1 VertxRestInvocation (org.apache.servicecomb.common.rest.VertxRestInvocation)1 InvocationCreator (org.apache.servicecomb.core.invocation.InvocationCreator)1 HttpServletRequestEx (org.apache.servicecomb.foundation.vertx.http.HttpServletRequestEx)1 HttpServletResponseEx (org.apache.servicecomb.foundation.vertx.http.HttpServletResponseEx)1 VertxServerRequestToHttpServletRequest (org.apache.servicecomb.foundation.vertx.http.VertxServerRequestToHttpServletRequest)1 VertxServerResponseToHttpServletResponse (org.apache.servicecomb.foundation.vertx.http.VertxServerResponseToHttpServletResponse)1