GrpcUtil { public static boolean isGrpcContentType(String contentType) { if (contentType == null) { return false; } if (CONTENT_TYPE_GRPC.length() > contentType.length()) { return false; } contentType = contentType.toLowerCase(); if (!contentType.startsWith(CONTENT_TYPE_GRPC)) { return false; } if (contentType.length() == CONTENT_TYPE_GRPC.length()) { return true; } char nextChar = contentType.charAt(CONTENT_TYPE_GRPC.length()); return nextChar == '+' || nextChar == ';'; } private  GrpcUtil(); static Status httpStatusToGrpcStatus(int httpStatusCode); static boolean isGrpcContentType(String contentType); static String getGrpcUserAgent(String transportName,
                                        @Nullable String applicationUserAgent); static URI authorityToUri(String authority); static String checkAuthority(String authority); static String authorityFromHostAndPort(String host, int port); static String getLogId(WithLogId subject); static final Metadata.Key<Long> TIMEOUT_KEY; static final Metadata.Key<String> MESSAGE_ENCODING_KEY; static final Metadata.Key<String> MESSAGE_ACCEPT_ENCODING_KEY; static final Metadata.Key<String> CONTENT_TYPE_KEY; static final Metadata.Key<String> USER_AGENT_KEY; static final int DEFAULT_PORT_PLAINTEXT; static final int DEFAULT_PORT_SSL; static final String CONTENT_TYPE_GRPC; static final String HTTP_METHOD; static final String TE_TRAILERS; static final String TIMEOUT; static final String MESSAGE_ENCODING; static final String MESSAGE_ACCEPT_ENCODING; static final int DEFAULT_MAX_MESSAGE_SIZE; static final int DEFAULT_MAX_HEADER_LIST_SIZE; static final Splitter ACCEPT_ENCODING_SPLITER; static final Joiner ACCEPT_ENCODING_JOINER; static final Resource<ExecutorService> SHARED_CHANNEL_EXECUTOR; static final Resource<ScheduledExecutorService> TIMER_SERVICE; }
@Test public void contentTypeShouldBeValid() { assertTrue(GrpcUtil.isGrpcContentType(GrpcUtil.CONTENT_TYPE_GRPC)); assertTrue(GrpcUtil.isGrpcContentType(GrpcUtil.CONTENT_TYPE_GRPC + "+blaa")); assertTrue(GrpcUtil.isGrpcContentType(GrpcUtil.CONTENT_TYPE_GRPC + ";blaa")); }
@Test public void contentTypeShouldNotBeValid() { assertFalse(GrpcUtil.isGrpcContentType("application/bad")); }