Skip to content

Commit ce4e8e8

Browse files
authored
chore: request modified (#758)
1 parent 99c4d98 commit ce4e8e8

File tree

2 files changed

+34
-69
lines changed

2 files changed

+34
-69
lines changed

src/main/java/com/sendgrid/http/Request.java

Lines changed: 33 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -4,100 +4,65 @@
44
import lombok.Getter;
55
import lombok.Setter;
66

7-
import java.util.ArrayList;
87
import java.util.HashMap;
98
import java.util.List;
109
import java.util.Map;
11-
import java.util.StringJoiner;
1210

1311
public class Request {
1412
@Getter
1513
private final HttpMethod method;
1614
@Getter
17-
private final String url;
15+
private final String endPoint;
1816
@Getter
1917
private final String domain;
2018
@Getter
2119
private String body;
2220
@Getter
23-
private Map<String, String> headers;
21+
private Map<String, String> headers = new HashMap<>();
22+
@Getter
23+
private Map<String, String> queryParams = new HashMap<>();
24+
@Getter
25+
private Map<String, String> pathParams = new HashMap<>();
2426
@Getter
2527
@Setter
2628
private String region;
2729
@Getter
2830
@Setter
2931
private List<String> userAgentExtensions;
32+
33+
@Getter
34+
private String url;
35+
public Request(HttpMethod method, String endPoint, String domain) {
36+
this.method = method;
37+
this.endPoint = endPoint;
38+
this.domain = domain;
39+
}
3040

31-
public void addHeader(String key, String value) {
32-
if (value == null || value.equals("null") || key == null) return;
41+
public void addPathParam(String key, String value) {
42+
pathParams.put(key, value);
43+
}
44+
45+
public void addHeaderParam(String key, String value) {
3346
headers.put(key, value);
3447
}
35-
36-
private Request(Builder builder) {
37-
this.method = builder.method;
38-
this.domain = builder.domain;
39-
this.region = builder.region;
40-
this.body = builder.body;
41-
this.headers = builder.headers;
4248

43-
String baseUrl = Utility.buildBaseUrl(domain, region, builder.endPoint);
44-
baseUrl = Utility.buildWithPathParams(baseUrl, builder.pathParams);
45-
baseUrl = Utility.buildWithQueryParams(baseUrl, builder.queryParams);
49+
public void addQueryParam(String key, String value) {
50+
queryParams.put(key, value);
51+
}
52+
53+
public void addBody(String body) {
54+
this.body = body;
55+
}
56+
57+
public void buildUrl() {
58+
String baseUrl = Utility.buildBaseUrl(domain, region, endPoint);
59+
baseUrl = Utility.buildWithPathParams(baseUrl, pathParams);
60+
baseUrl = Utility.buildWithQueryParams(baseUrl, queryParams);
4661
this.url = baseUrl;
4762
}
4863

49-
public static class Builder {
50-
private String endPoint;
51-
private HttpMethod method;
52-
private String domain;
53-
private String region;
54-
private Map<String, String> headers = new HashMap<>();
55-
private Map<String, String> queryParams = new HashMap<>();
56-
private Map<String, String> pathParams = new HashMap<>();
57-
private String body;
58-
59-
public Builder(HttpMethod method, String endPoint, String domain) {
60-
this.method = method;
61-
this.endPoint = endPoint;
62-
this.domain = domain;
63-
}
64-
65-
public Builder addPathParam(String key, String value) {
66-
this.pathParams.put(key, value);
67-
return this;
68-
}
69-
70-
public Builder addHeaderParam(String key, String value) {
71-
headers.put(key, value);
72-
return this;
73-
}
74-
75-
/*
76-
* Sendgrid follows Resource Query Language(RQL) for Query parameters instead of following standard query parameters.
77-
* limit: If limit occurs as query param in open api spec
78-
* offset: If offset occurs as query param in open api spec
79-
* query: If there is query parameter apart from limit and offset.
80-
* It will be the responsibility of the client to build a compound query and pass it as a query parameter in the query field.
81-
*/
82-
public Builder addQueryParam(String key, String value) {
83-
queryParams.put(key, value);
84-
return this;
85-
}
86-
87-
public Builder addBody(String body) {
88-
this.body = body;
89-
return this;
90-
}
91-
92-
public Builder region(String region) {
93-
this.region = region;
94-
return this;
95-
}
96-
97-
public Request build() {
98-
return new Request(this);
99-
}
64+
public void buildUrl(final String url) {
65+
this.url = url;
10066
}
10167

102-
10368
}

src/main/java/com/sendgrid/http/auth/TokenStrategy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ public class TokenStrategy implements AuthStrategy {
88
private final String token;
99
@Override
1010
public void applyAuth(Request request) {
11-
request.addHeader("Authorization", "Bearer " + token);
11+
request.addHeaderParam("Authorization", "Bearer " + token);
1212
}
1313
}

0 commit comments

Comments
 (0)