2828import io .grpc .rls .RlsProtoData .NameMatcher ;
2929import io .grpc .rls .RlsProtoData .RouteLookupConfig ;
3030import io .grpc .rls .RlsProtoData .RouteLookupRequest ;
31+ import io .grpc .rls .RlsProtoData .RouteLookupRequestKey ;
3132import java .util .HashMap ;
3233import java .util .List ;
3334import java .util .Map ;
3435
3536/**
36- * A RlsRequestFactory creates {@link RouteLookupRequest } using key builder map from {@link
37+ * A RlsRequestFactory creates {@link RouteLookupRequestKey } using key builder map from {@link
3738 * RouteLookupConfig}.
3839 */
3940final class RlsRequestFactory {
@@ -61,9 +62,9 @@ private static Map<String, GrpcKeyBuilder> createKeyBuilderTable(
6162 return table ;
6263 }
6364
64- /** Creates a {@link RouteLookupRequest } for given request's metadata. */
65+ /** Creates a {@link RouteLookupRequestKey } for the given request lookup metadata. */
6566 @ CheckReturnValue
66- RouteLookupRequest create (String service , String method , Metadata metadata ) {
67+ RouteLookupRequestKey create (String service , String method , Metadata metadata ) {
6768 checkNotNull (service , "service" );
6869 checkNotNull (method , "method" );
6970 String path = "/" + service + "/" + method ;
@@ -73,7 +74,7 @@ RouteLookupRequest create(String service, String method, Metadata metadata) {
7374 grpcKeyBuilder = keyBuilderTable .get ("/" + service + "/*" );
7475 }
7576 if (grpcKeyBuilder == null ) {
76- return RouteLookupRequest .create (ImmutableMap .< String , String > of ());
77+ return RouteLookupRequestKey .create (ImmutableMap .of ());
7778 }
7879 ImmutableMap .Builder <String , String > rlsRequestHeaders =
7980 createRequestHeaders (metadata , grpcKeyBuilder .headers ());
@@ -89,7 +90,14 @@ RouteLookupRequest create(String service, String method, Metadata metadata) {
8990 rlsRequestHeaders .put (extraKeys .method (), method );
9091 }
9192 rlsRequestHeaders .putAll (constantKeys );
92- return RouteLookupRequest .create (rlsRequestHeaders .buildOrThrow ());
93+ return RouteLookupRequestKey .create (rlsRequestHeaders .buildOrThrow ());
94+ }
95+
96+ /** Creates a {@link RouteLookupRequest} using the given request lookup key and reason. */
97+ @ CheckReturnValue
98+ RouteLookupRequest create (RouteLookupRequestKey routeLookupRequestKey ,
99+ RouteLookupRequest .Reason reason ) {
100+ return RouteLookupRequest .create (routeLookupRequestKey .keyMap (), reason );
93101 }
94102
95103 private ImmutableMap .Builder <String , String > createRequestHeaders (
0 commit comments