Skip to content

Commit

Permalink
Expose an API to build a URI without query params. Expose a local att…
Browse files Browse the repository at this point in the history
…r for passing query params for in-process calls (#682)

Co-authored-by: Karthik Ramgopal <[email protected]>
  • Loading branch information
karthikrg and li-kramgopa authored Aug 31, 2021
1 parent 59fd4f0 commit 64a1479
Show file tree
Hide file tree
Showing 32 changed files with 127 additions and 226 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ and what APIs have changed, if applicable.

## [Unreleased]

## [29.21.4] - 2021-08-30
- Expose an API to build a URI without query params. Expose a local attr for passing query params for in-process calls.

## [29.21.3] - 2021-08-25
- Fix a bug in SmoothRateLimiter where getEvents will always return 0

Expand Down Expand Up @@ -5067,7 +5070,8 @@ patch operations can re-use these classes for generating patch messages.

## [0.14.1]

[Unreleased]: https://github.com/linkedin/rest.li/compare/v29.21.3...master
[Unreleased]: https://github.com/linkedin/rest.li/compare/v29.21.4...master
[29.21.4]: https://github.com/linkedin/rest.li/compare/v29.21.3...v29.21.4
[29.21.3]: https://github.com/linkedin/rest.li/compare/v29.21.2...v29.21.3
[29.21.2]: https://github.com/linkedin/rest.li/compare/v29.21.1...v29.21.2
[29.21.1]: https://github.com/linkedin/rest.li/compare/v29.21.0...v29.21.1
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version=29.21.3
version=29.21.4
group=com.linkedin.pegasus
org.gradle.configureondemand=true
org.gradle.parallel=true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,21 +112,41 @@ protected final void appendAssocKeys(UriBuilder uriBuilder)
}

@Override
public URI buildBaseUri()
public final URI buildBaseUri()
{
return URI.create(bindPathKeys());
}

public URI buildBaseUriWithPrefix()
@Override
public final URI buildWithoutQueryParams()
{
return getUriBuilderWithoutQueryParams().build();
}

@Override
public final URI build()
{
UriBuilder b = getUriBuilderWithoutQueryParams();
appendQueryParams(b);
return b.build();
}

/**
* @return The URI builder (without query params) for this request.
*/
protected UriBuilder getUriBuilderWithoutQueryParams()
{
final URI uri;
if (_request.getPathKeys().isEmpty())
{
// if path keys are empty we don't need to bind the path keys, we can directly use the request base uri template.
return URI_TEMPLATE_STRING_TO_URI_CACHE.get(addPrefix(_request.getBaseUriTemplate()), template -> URI.create(template));
uri = URI_TEMPLATE_STRING_TO_URI_CACHE.get(addPrefix(_request.getBaseUriTemplate()), URI::create);
}
else
{
return URI.create(addPrefix(bindPathKeys()));
uri = URI.create(addPrefix(bindPathKeys()));
}

return UriBuilder.fromUri(uri);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,8 @@


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.jersey.api.uri.UriComponent;
import com.linkedin.restli.client.ActionRequest;
import com.linkedin.restli.common.ProtocolVersion;
import com.linkedin.restli.internal.common.URIParamUtils;

import java.net.URI;


/**
Expand All @@ -37,15 +33,14 @@ class ActionRequestUriBuilder extends AbstractRestliRequestUriBuilder<ActionRequ
}

@Override
public URI build()
protected UriBuilder getUriBuilderWithoutQueryParams()
{
ActionRequest<?> actionRequest = getRequest();
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
UriBuilder b = super.getUriBuilderWithoutQueryParams();
if (actionRequest.getId() != null)
{
appendKeyToPath(b, actionRequest.getId());
}
appendQueryParams(b);
return b.build();
return b;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,9 @@

package com.linkedin.restli.client.uribuilders;

import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchCreateIdEntityRequest;
import com.linkedin.restli.common.ProtocolVersion;

import java.net.URI;


/**
* @author Boyang Chen
Expand All @@ -32,12 +29,4 @@ public class BatchCreateIdEntityRequestUriBuilder extends AbstractRestliRequestU
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(b);
return b.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,9 @@

package com.linkedin.restli.client.uribuilders;


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchCreateIdRequest;
import com.linkedin.restli.common.ProtocolVersion;

import java.net.URI;


/**
* URI Builder for {@link com.linkedin.restli.client.BatchCreateIdRequest}
Expand All @@ -34,12 +30,4 @@ public class BatchCreateIdRequestUriBuilder extends AbstractRestliRequestUriBuil
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(b);
return b.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,8 @@

package com.linkedin.restli.client.uribuilders;


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchCreateRequest;
import com.linkedin.restli.common.ProtocolVersion;
import java.net.URI;


/**
Expand All @@ -32,12 +29,4 @@ class BatchCreateRequestUriBuilder extends AbstractRestliRequestUriBuilder<Batch
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(b);
return b.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,8 @@

package com.linkedin.restli.client.uribuilders;


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchDeleteRequest;
import com.linkedin.restli.common.ProtocolVersion;
import java.net.URI;


/**
Expand All @@ -32,12 +29,4 @@ class BatchDeleteRequestUriBuilder extends AbstractRestliRequestUriBuilder<Batch
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(b);
return b.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,9 @@

package com.linkedin.restli.client.uribuilders;


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchFindRequest;
import com.linkedin.restli.common.ProtocolVersion;
import java.net.URI;


/**
Expand All @@ -36,11 +34,10 @@ public class BatchFindRequestUriBuilder extends AbstractRestliRequestUriBuilder<
}

@Override
public URI build()
protected UriBuilder getUriBuilderWithoutQueryParams()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
UriBuilder b = super.getUriBuilderWithoutQueryParams();
appendAssocKeys(b);
appendQueryParams(b);
return b.build();
return b;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,9 @@

package com.linkedin.restli.client.uribuilders;


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchGetEntityRequest;
import com.linkedin.restli.common.ProtocolVersion;

import java.net.URI;


/**
* @author Keren Jin
Expand All @@ -33,12 +29,4 @@ public BatchGetEntityRequestUriBuilder(BatchGetEntityRequest<?, ?> request, Stri
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
final UriBuilder builder = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(builder);
return builder.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,8 @@

package com.linkedin.restli.client.uribuilders;


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchGetKVRequest;
import com.linkedin.restli.common.ProtocolVersion;
import java.net.URI;


/**
Expand All @@ -32,12 +29,4 @@ public BatchGetKVRequestUriBuilder(BatchGetKVRequest<?, ?> request, String uriPr
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(b);
return b.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,8 @@

package com.linkedin.restli.client.uribuilders;


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchGetRequest;
import com.linkedin.restli.common.ProtocolVersion;
import java.net.URI;


/**
Expand All @@ -32,12 +29,4 @@ class BatchGetRequestUriBuilder extends AbstractRestliRequestUriBuilder<BatchGet
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(b);
return b.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@

package com.linkedin.restli.client.uribuilders;

import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchPartialUpdateEntityRequest;
import com.linkedin.restli.common.ProtocolVersion;
import java.net.URI;


/**
Expand All @@ -33,12 +31,4 @@ class BatchPartialUpdateEntityRequestUriBuilder extends AbstractRestliRequestUri
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(b);
return b.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,8 @@

package com.linkedin.restli.client.uribuilders;


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchPartialUpdateRequest;
import com.linkedin.restli.common.ProtocolVersion;
import java.net.URI;


/**
Expand All @@ -32,12 +29,4 @@ class BatchPartialUpdateRequestUriBuilder extends AbstractRestliRequestUriBuilde
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(b);
return b.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,8 @@

package com.linkedin.restli.client.uribuilders;


import com.linkedin.jersey.api.uri.UriBuilder;
import com.linkedin.restli.client.BatchUpdateRequest;
import com.linkedin.restli.common.ProtocolVersion;
import java.net.URI;


/**
Expand All @@ -32,12 +29,4 @@ class BatchUpdateRequestUriBuilder extends AbstractRestliRequestUriBuilder<Batch
{
super(request, uriPrefix, version);
}

@Override
public URI build()
{
UriBuilder b = UriBuilder.fromUri(buildBaseUriWithPrefix());
appendQueryParams(b);
return b.build();
}
}
Loading

0 comments on commit 64a1479

Please sign in to comment.