@Override
    public ExchangeType exchangeType(RoutingContext routingContext) {
        final MediaType contentType = routingContext.headers().contentType();
        if (contentType == null) {
            return ExchangeType.BIDI_STREAMING;
        }

        for (SerializationFormat format : GrpcSerializationFormats.values()) {
            if (format.isAccepted(contentType)) {
                return ((HttpService) unwrap()).exchangeType(routingContext);
            }
        }

        if (contentType.is(MediaType.PROTOBUF) || contentType.is(MediaType.JSON_UTF_8)) {
            return ExchangeType.UNARY;
        }
        // Unsupported Content-Type
        return ExchangeType.BIDI_STREAMING;
    }
Creates a new instance that decorates the specified {@link HttpService}.
grpc/src/main/java/com/linecorp/armeria/server/grpc/AbstractUnframedGrpcService.java