HttpResponse

This commit is contained in:
redkale
2024-01-19 15:59:31 +08:00
parent 4f34f1fd2e
commit ef985e2aef
3 changed files with 50 additions and 15 deletions

View File

@@ -189,6 +189,18 @@ public abstract class Response<C extends Context, R extends Request<C>> {
this.filter = filter;
}
protected void thenEvent(Filter<C, R, Response<C, R>> filter) {
if (this.filter == null) {
this.filter = filter;
} else {
Filter f = this.filter;
while (f._next != null) {
f = f._next;
}
f._next = filter;
}
}
protected void thenEvent(Servlet servlet) {
this.servlet = servlet;
}

View File

@@ -19,7 +19,7 @@ import org.redkale.util.AnyValue;
public abstract class HttpFilter extends Filter<HttpContext, HttpRequest, HttpResponse> {
//Server执行start后运行此方法
public void postStart(HttpContext context, AnyValue config) {
protected void postStart(HttpContext context, AnyValue config) {
}
protected void setMethod(HttpRequest request, String method) {
@@ -38,31 +38,44 @@ public abstract class HttpFilter extends Filter<HttpContext, HttpRequest, HttpRe
request.setLocale(locale);
}
protected void setParameter(HttpRequest request, String name, String value) {
request.setParameter(name, value);
protected <T> T setProperty(HttpRequest request, String name, T value) {
return request.setProperty(name, value);
}
protected void setHeader(HttpRequest request, String name, String value) {
request.setHeader(name, value);
protected <T> T getProperty(HttpRequest request, String name) {
return request.getProperty(name);
}
protected void removeProperty(HttpRequest request, String name) {
request.removeProperty(name);
}
protected void addHeader(HttpRequest request, String name, String value) {
request.addHeader(name, value);
}
protected void removeParameter(HttpRequest request, String name) {
request.removeParameter(name);
protected void setHeader(HttpRequest request, String name, String value) {
request.setHeader(name, value);
}
protected void removeHeader(HttpRequest request, String name) {
request.removeHeader(name);
}
protected void removeAttribute(HttpRequest request, String name) {
request.removeAttribute(name);
protected void setParameter(HttpRequest request, String name, String value) {
request.setParameter(name, value);
}
protected void removeProperty(HttpRequest request, String name) {
request.removeProperty(name);
protected void removeParameter(HttpRequest request, String name) {
request.removeParameter(name);
}
protected void setFilter(HttpResponse response, HttpFilter filter) {
response.setFilter(filter);
}
protected void thenEvent(HttpResponse response, HttpFilter filter) {
response.thenEvent(filter);
}
}

View File

@@ -20,6 +20,7 @@ import java.util.logging.*;
import org.redkale.convert.*;
import org.redkale.convert.json.*;
import org.redkale.net.*;
import org.redkale.net.Filter;
import org.redkale.service.RetResult;
import org.redkale.util.*;
import org.redkale.util.AnyValue.Entry;
@@ -112,13 +113,13 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
httpCodes.put(414, "Request URI Too Long");
httpCodes.put(415, "Unsupported Media Type");
httpCodes.put(416, "Requested Range Not Satisfiable");
httpCodes.put(417, "Expectation Failed");
httpCodes.put(417, "Expectation Failed");
httpCodes.put(426, "Upgrade Required");
httpCodes.put(428, "Precondition Required");
httpCodes.put(429, "Too Many Requests");
httpCodes.put(431, "Request Header Fields Too Large");
httpCodes.put(451, "Unavailable For Legal Reasons");
httpCodes.put(500, "Internal Server Error");
httpCodes.put(501, "Not Implemented");
httpCodes.put(502, "Bad Gateway");
@@ -286,9 +287,18 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
}
@Override
@SuppressWarnings("unchecked")
protected void setFilter(Filter filter) {
super.setFilter(filter);
}
@Override
protected void thenEvent(Servlet servlet) {
this.servlet = servlet;
super.thenEvent(servlet);
}
@Override
protected void thenEvent(Filter filter) {
super.thenEvent(filter);
}
protected boolean isAutoOptions() {