Skip to content

Commit e68ccfb

Browse files
author
Valandur
committed
Merge branch 'release/v4.1.1'
2 parents e2be533 + 31acacc commit e68ccfb

File tree

5 files changed

+44
-10
lines changed

5 files changed

+44
-10
lines changed

build.gradle

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,6 @@ shadowJar {
6565
}
6666
shadowJar.dependsOn([':webapi-api:build'])
6767

68-
task cleanJars() {
69-
project.file('artifacts').listFiles().each {
70-
x -> if (x.name.endsWith("jar")) { x.delete() }
71-
}
72-
}
73-
7468
task copyJars(type: Copy, dependsOn: ':webapi-api:build') {
7569
from([subprojects.jar, shadowJar])
7670
into project.file('artifacts')
@@ -80,7 +74,5 @@ artifacts {
8074
archives shadowJar
8175
}
8276

83-
clean.dependsOn(cleanJars)
84-
copyJars.mustRunAfter(cleanJars)
8577
build.dependsOn(shadowJar)
8678
build.dependsOn(copyJars)

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
version=4.1.0
1+
version=4.1.1
22
minecraftVersion=1.11.2
33
spongeVersion=6.1

src/main/java/valandur/webapi/servlet/ServletData.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.fasterxml.jackson.databind.ObjectMapper;
66
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
77
import com.fasterxml.jackson.databind.node.ObjectNode;
8+
import valandur.webapi.api.servlet.IServletData;
89
import valandur.webapi.json.JsonConverter;
910
import valandur.webapi.misc.TreeNode;
1011
import valandur.webapi.misc.Util;
@@ -17,7 +18,7 @@
1718
import java.util.Map;
1819
import java.util.Optional;
1920

20-
public class ServletData {
21+
public class ServletData implements IServletData {
2122

2223
private HttpServletRequest req;
2324
private HttpServletResponse resp;

src/main/java/valandur/webapi/servlet/Servlets.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import valandur.webapi.api.annotation.WebAPIRoute;
77
import valandur.webapi.api.annotation.WebAPIServlet;
88
import valandur.webapi.api.servlet.IServlet;
9+
import valandur.webapi.api.servlet.IServletData;
910
import valandur.webapi.misc.Util;
1011

1112
import java.lang.reflect.Method;
@@ -46,6 +47,15 @@ public static void init() {
4647
for (Tuple<WebAPIRoute, Method> tuple : newMethods) {
4748
WebAPIRoute route = tuple.getFirst();
4849
Method method = tuple.getSecond();
50+
if (method.getParameterTypes().length != 1) {
51+
logger.error(" Method " + method.getName() + " may only have 1 argument");
52+
continue;
53+
}
54+
if (method.getParameterTypes()[0] != IServletData.class &&
55+
method.getParameterTypes()[0] != ServletData.class) {
56+
logger.error(" Method " + method.getName() + " parameter is not of type IServletData");
57+
continue;
58+
}
4959
method.setAccessible(true);
5060
logger.debug(" [" + route.method() + "] " + route.path() + " -> " +method.getName());
5161
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package valandur.webapi.api.servlet;
2+
3+
import com.fasterxml.jackson.databind.JsonNode;
4+
import com.fasterxml.jackson.databind.node.ObjectNode;
5+
6+
import java.util.Optional;
7+
8+
public interface IServletData {
9+
10+
ObjectNode getNode();
11+
12+
Exception getLastParseError();
13+
14+
boolean isErrorSent();
15+
16+
JsonNode getRequestBody();
17+
18+
<T> Optional<T> getRequestBody(Class<T> clazz);
19+
20+
void setHeader(String name, String value);
21+
22+
void setStatus(int status);
23+
24+
void addJson(String key, Object value, boolean details);
25+
26+
String getPathParam(String key);
27+
28+
Optional<String> getQueryParam(String key);
29+
30+
void sendError(int error, String message);
31+
}

0 commit comments

Comments
 (0)