Skip to content

Commit

Permalink
Update webutils to allow setting for headers on post requests
Browse files Browse the repository at this point in the history
  • Loading branch information
duncte123 committed Aug 24, 2023
1 parent dbd351d commit cf97448
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 18 deletions.
4 changes: 2 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ java {
targetCompatibility = JavaVersion.VERSION_1_8
}

val jdaVersion = "5.0.0-beta.2"
val jdaVersion = "5.0.0-beta.13"

dependencies {
api(group = "com.fasterxml.jackson.core", name = "jackson-databind", version = "2.13.2.2")
Expand Down Expand Up @@ -140,6 +140,6 @@ publish.apply {
}

tasks.withType<Wrapper> {
gradleVersion = "7.5.1"
gradleVersion = "8.2.1"
distributionType = Wrapper.DistributionType.BIN
}
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
12 changes: 8 additions & 4 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
Expand All @@ -80,10 +80,10 @@ do
esac
done

APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

APP_NAME="Gradle"
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
Expand Down Expand Up @@ -143,12 +143,16 @@ fi
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
Expand Down
1 change: 1 addition & 0 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

Expand Down
34 changes: 23 additions & 11 deletions src/main/java/me/duncte123/botcommons/web/WebUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -395,12 +395,24 @@ public Request.Builder prepareGet(String url, ContentType accept) {
* @return
*/
public PendingRequestBuilder postRequest(String url, IRequestBody body) {
return createRequest(
defaultRequest()
.url(url)
.header("content-Type", body.getContentType().getType())
.post(body.toRequestBody())
);
return postRequest(url, body, null);
}

/**
*
* @param url
* @param body
* @param requestBuilder
* @return
*/
public PendingRequestBuilder postRequest(String url, IRequestBody body, @Nullable RequestBuilderFunction requestBuilder) {
final Request.Builder builder = defaultRequest()
.url(url)
.header("content-Type", body.getContentType().getType())
.post(body.toRequestBody());

// We return the builder so there is no need to have it as param
return applyFunctions(builder, null, requestBuilder);
}

/**
Expand Down Expand Up @@ -444,15 +456,15 @@ public <T> PendingRequest<T> prepareRaw(Request request, ResponseMapper<T> mappe
return createRequest(request).build(mapper, WebParserUtils::handleError);
}

private PendingRequestBuilder applyFunctions(Request.Builder builder, @Nullable PendingRequestFunction fn1, @Nullable RequestBuilderFunction fn2) {
if (fn2 != null) {
builder = fn2.apply(builder);
private PendingRequestBuilder applyFunctions(Request.Builder builder, @Nullable PendingRequestFunction pendingBuilder, @Nullable RequestBuilderFunction requestBuilder) {
if (requestBuilder != null) {
builder = requestBuilder.apply(builder);
}

PendingRequestBuilder pendingRequestBuilder = createRequest(builder);

if (fn1 != null) {
pendingRequestBuilder = fn1.apply(pendingRequestBuilder);
if (pendingBuilder != null) {
pendingRequestBuilder = pendingBuilder.apply(pendingRequestBuilder);
}

return pendingRequestBuilder;
Expand Down

0 comments on commit cf97448

Please sign in to comment.