envoyproxy / envoyproxy/java-control-plane

Need help for gRPC sample implementation.

Abierto
#235 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
312
Forks
149
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I have written the sample code for authorisation using gRPC service. I was unable to find an easy way to implement the service.

```
import io.grpc.Server;
import io.grpc.ServerBuilder;

public class AuthServer {

public static void main(String[] args) throws Exception {
// Create a new server to listen on port 8081
Server server = ServerBuilder.forPort(5051)
.addService(new ExtAuthService())
.build();

// Start the server
server.start();

// Server threads are running in the background.
System.out
.println("+++++++++++++++++++++++ gRPC server started ++++++++++++++++++++++++++++");
// Don't exit the main thread. Wait until server is terminated.
server.awaitTermination();
}
}
```

The external authorisation service is follows.

```
import com.google.rpc.Status;
import io.envoyproxy.envoy.service.auth.v3.AuthorizationGrpc;
import io.envoyproxy.envoy.service.auth.v3.CheckRequest;
import io.envoyproxy.envoy.service.auth.v3.CheckResponse;
import io.envoyproxy.envoy.service.auth.v3.OkHttpResponse;
import io.grpc.stub.StreamObserver;

public class ExtAuthService extends AuthorizationGrpc.AuthorizationImplBase {

@Override
public void check (CheckRequest request, StreamObserver responseObserver) {

System.out.println("++++++++++hit+++++++++++++++");

System.out.println(request);

CheckResponse response = CheckResponse.newBuilder()
.setStatus(Status.newBuilder().build())
.setOkResponse(OkHttpResponse.newBuilder().build())
.build();

// Use responseObserver to send a single response back
responseObserver.onNext(response);

// When you are done, you must call onCompleted.
responseObserver.onCompleted();
}
}
```

Request:
```
curl -X POST -vs -H "Authorization: Bearer foo" -H 'Content-Type: application/grpc' -H 'Accept: application/grpc' -H 'TE: trailers' -w "\n" --http2-prior-knowledge http://localhost:5051/check
```

Response:
```
* Connection state changed (MAX_CONCURRENT_STREAMS == 2147483647)!
< HTTP/2 200
< content-type: application/grpc
< grpc-status: 12
< grpc-message: Method not found: check
```

What am I missing?

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.