Skip to content

Commit 43ea452

Browse files
committed
add support for HTTP verbs (thanks to https://github.com/keijohyttinen)
1 parent b7d0c6d commit 43ea452

File tree

3 files changed

+31
-12
lines changed

3 files changed

+31
-12
lines changed

changelog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* uncouple OAuthRequest and Service. OAuthRequest shouldn't know anything about OAuthservice.
33
You don't need OAuthService to create OAuthRequest anymore. Async request should be sent via OAuthService method.
44
* add support for byte[] and File (async only) payload in OAuth Requests (thanks to https://github.com/keijohyttinen)
5+
* add support for HTTP verbs (thanks to https://github.com/keijohyttinen)
56

67
[3.3.0]
78
* update Facebook v2.6 -> v2.8

scribejava-httpclient-ahc/src/main/java/com/github/scribejava/httpclient/ahc/AhcHttpClient.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,22 +61,31 @@ public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers,
6161
private <T> Future<T> doExecuteAsync(String userAgent, Map<String, String> headers, Verb httpVerb,
6262
String completeUrl, BodySetter bodySetter, OAuthAsyncRequestCallback<T> callback,
6363
OAuthRequestAsync.ResponseConverter<T> converter) {
64-
final BoundRequestBuilder boundRequestBuilder;
64+
BoundRequestBuilder boundRequestBuilder;
6565
switch (httpVerb) {
6666
case GET:
6767
boundRequestBuilder = client.prepareGet(completeUrl);
6868
break;
6969
case POST:
70-
BoundRequestBuilder requestBuilder = client.preparePost(completeUrl);
71-
if (!headers.containsKey(AbstractRequest.CONTENT_TYPE)) {
72-
requestBuilder = requestBuilder.addHeader(AbstractRequest.CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
73-
}
74-
boundRequestBuilder = bodySetter.setBody(requestBuilder);
70+
boundRequestBuilder = client.preparePost(completeUrl);
71+
break;
72+
case PUT:
73+
boundRequestBuilder = client.preparePut(completeUrl);
74+
break;
75+
case DELETE:
76+
boundRequestBuilder = client.prepareDelete(completeUrl);
7577
break;
7678
default:
7779
throw new IllegalArgumentException("message build error: unknown verb type");
7880
}
7981

82+
if (httpVerb == Verb.POST || httpVerb == Verb.PUT || httpVerb == Verb.DELETE) {
83+
if (!headers.containsKey(AbstractRequest.CONTENT_TYPE)) {
84+
boundRequestBuilder = boundRequestBuilder.addHeader(AbstractRequest.CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
85+
}
86+
boundRequestBuilder = bodySetter.setBody(boundRequestBuilder);
87+
}
88+
8089
for (Map.Entry<String, String> header : headers.entrySet()) {
8190
boundRequestBuilder.addHeader(header.getKey(), header.getValue());
8291
}

scribejava-httpclient-ning/src/main/java/com/github/scribejava/httpclient/ning/NingHttpClient.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,22 +63,31 @@ public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers,
6363
private <T> Future<T> doExecuteAsync(String userAgent, Map<String, String> headers, Verb httpVerb,
6464
String completeUrl, BodySetter bodySetter, OAuthAsyncRequestCallback<T> callback,
6565
OAuthRequestAsync.ResponseConverter<T> converter) {
66-
final AsyncHttpClient.BoundRequestBuilder boundRequestBuilder;
66+
AsyncHttpClient.BoundRequestBuilder boundRequestBuilder;
6767
switch (httpVerb) {
6868
case GET:
6969
boundRequestBuilder = client.prepareGet(completeUrl);
7070
break;
7171
case POST:
72-
AsyncHttpClient.BoundRequestBuilder requestBuilder = client.preparePost(completeUrl);
73-
if (!headers.containsKey(AbstractRequest.CONTENT_TYPE)) {
74-
requestBuilder = requestBuilder.addHeader(AbstractRequest.CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
75-
}
76-
boundRequestBuilder = bodySetter.setBody(requestBuilder);
72+
boundRequestBuilder = client.preparePost(completeUrl);
73+
break;
74+
case PUT:
75+
boundRequestBuilder = client.preparePut(completeUrl);
76+
break;
77+
case DELETE:
78+
boundRequestBuilder = client.prepareDelete(completeUrl);
7779
break;
7880
default:
7981
throw new IllegalArgumentException("message build error: unknown verb type");
8082
}
8183

84+
if (httpVerb == Verb.POST || httpVerb == Verb.PUT || httpVerb == Verb.DELETE) {
85+
if (!headers.containsKey(AbstractRequest.CONTENT_TYPE)) {
86+
boundRequestBuilder = boundRequestBuilder.addHeader(AbstractRequest.CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
87+
}
88+
boundRequestBuilder = bodySetter.setBody(boundRequestBuilder);
89+
}
90+
8291
for (Map.Entry<String, String> header : headers.entrySet()) {
8392
boundRequestBuilder.addHeader(header.getKey(), header.getValue());
8493
}

0 commit comments

Comments
 (0)