Class ExternalProcessorGrpc
java.lang.Object
io.envoyproxy.envoy.service.ext_proc.v3.ExternalProcessorGrpc
@Generated(value="by gRPC proto compiler (version 1.62.2)",
comments="Source: envoy/service/ext_proc/v3/external_processor.proto")
public final class ExternalProcessorGrpc
extends Object
A service that can access and modify HTTP requests and responses
as part of a filter chain.
The overall external processing protocol works like this:
1. The data plane sends to the service information about the HTTP request.
2. The service sends back a ProcessingResponse message that directs
the data plane to either stop processing, continue without it, or send
it the next chunk of the message body.
3. If so requested, the data plane sends the server the message body in
chunks, or the entire body at once. In either case, the server may send
back a ProcessingResponse for each message it receives, or wait for
a certain amount of body chunks received before streaming back the
ProcessingResponse messages.
4. If so requested, the data plane sends the server the HTTP trailers,
and the server sends back a ProcessingResponse.
5. At this point, request processing is done, and we pick up again
at step 1 when the data plane receives a response from the upstream
server.
6. At any point above, if the server closes the gRPC stream cleanly,
then the data plane proceeds without consulting the server.
7. At any point above, if the server closes the gRPC stream with an error,
then the data plane returns a 500 error to the client, unless the filter
was configured to ignore errors.
In other words, the process is a request/response conversation, but
using a gRPC stream to make it easier for the server to
maintain state.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceA service that can access and modify HTTP requests and responses as part of a filter chain.static final classA stub to allow clients to do synchronous rpc calls to service ExternalProcessor.static final classA stub to allow clients to do ListenableFuture-style rpc calls to service ExternalProcessor.static classBase class for the server implementation of the service ExternalProcessor.static final classA stub to allow clients to do asynchronous rpc calls to service ExternalProcessor. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic final io.grpc.ServerServiceDefinitionstatic io.grpc.MethodDescriptor<ProcessingRequest,ProcessingResponse> static io.grpc.ServiceDescriptornewBlockingStub(io.grpc.Channel channel) Creates a new blocking-style stub that supports unary and streaming output calls on the servicenewFutureStub(io.grpc.Channel channel) Creates a new ListenableFuture-style stub that supports unary calls on the servicenewStub(io.grpc.Channel channel) Creates a new async stub that supports all call types for the service
-
Field Details
-
SERVICE_NAME
- See Also:
-
-
Method Details
-
getProcessMethod
-
newStub
Creates a new async stub that supports all call types for the service -
newBlockingStub
public static ExternalProcessorGrpc.ExternalProcessorBlockingStub newBlockingStub(io.grpc.Channel channel) Creates a new blocking-style stub that supports unary and streaming output calls on the service -
newFutureStub
public static ExternalProcessorGrpc.ExternalProcessorFutureStub newFutureStub(io.grpc.Channel channel) Creates a new ListenableFuture-style stub that supports unary calls on the service -
bindService
public static final io.grpc.ServerServiceDefinition bindService(ExternalProcessorGrpc.AsyncService service) -
getServiceDescriptor
public static io.grpc.ServiceDescriptor getServiceDescriptor()
-