From 53b5504ed02feaf0451eb2aa2319177bd42d6378 Mon Sep 17 00:00:00 2001 From: RedKale <22250530@qq.com> Date: Thu, 17 Mar 2016 09:42:24 +0800 Subject: [PATCH] --- .../java/META-INF/application-template.xml | 1 + .../org/redkale/net/http/HttpResponse.java | 27 ++++++++++++------- .../java/org/redkale/net/http/HttpServer.java | 16 ++++++----- 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/src/main/java/META-INF/application-template.xml b/src/main/java/META-INF/application-template.xml index 73e1272ef..8ccaeae47 100644 --- a/src/main/java/META-INF/application-template.xml +++ b/src/main/java/META-INF/application-template.xml @@ -131,6 +131,7 @@ diff --git a/src/main/java/org/redkale/net/http/HttpResponse.java b/src/main/java/org/redkale/net/http/HttpResponse.java index 37bb246a6..982e3d1d3 100644 --- a/src/main/java/org/redkale/net/http/HttpResponse.java +++ b/src/main/java/org/redkale/net/http/HttpResponse.java @@ -5,19 +5,19 @@ */ package org.redkale.net.http; -import org.redkale.util.AnyValue.DefaultAnyValue; -import org.redkale.util.AnyValue.Entry; import java.io.*; -import java.lang.reflect.*; -import java.net.*; -import java.nio.*; +import java.lang.reflect.Type; +import java.net.HttpCookie; +import java.nio.ByteBuffer; import java.nio.channels.*; import java.nio.file.*; import java.text.*; import java.util.*; -import java.util.concurrent.atomic.*; -import org.redkale.convert.json.*; +import java.util.concurrent.atomic.AtomicLong; +import org.redkale.convert.json.JsonConvert; import org.redkale.net.*; +import org.redkale.util.AnyValue.DefaultAnyValue; +import org.redkale.util.AnyValue.Entry; import org.redkale.util.*; /** @@ -494,7 +494,10 @@ public class HttpResponse extends Response { } if (this.defaultAddHeaders != null) { for (String[] headers : this.defaultAddHeaders) { - if (headers.length > 2) { + if (headers.length > 3) { + String v = request.getParameter(headers[2]); + if (v != null) this.header.addValue(headers[0], v); + } else if (headers.length > 2) { String v = request.getHeader(headers[2]); if (v != null) this.header.addValue(headers[0], v); } else { @@ -504,8 +507,12 @@ public class HttpResponse extends Response { } if (this.defaultSetHeaders != null) { for (String[] headers : this.defaultSetHeaders) { - if (headers.length > 2) { - this.header.setValue(headers[0], request.getHeader(headers[2])); + if (headers.length > 3) { + String v = request.getParameter(headers[2]); + if (v != null) this.header.setValue(headers[0], v); + } else if (headers.length > 2) { + String v = request.getHeader(headers[2]); + if (v != null) this.header.setValue(headers[0], v); } else { this.header.setValue(headers[0], headers[1]); } diff --git a/src/main/java/org/redkale/net/http/HttpServer.java b/src/main/java/org/redkale/net/http/HttpServer.java index 83ea1c142..f1d817d66 100644 --- a/src/main/java/org/redkale/net/http/HttpServer.java +++ b/src/main/java/org/redkale/net/http/HttpServer.java @@ -5,13 +5,13 @@ */ package org.redkale.net.http; -import java.net.*; -import java.nio.*; +import java.net.HttpCookie; +import java.nio.ByteBuffer; import java.util.*; -import java.util.concurrent.atomic.*; +import java.util.concurrent.atomic.AtomicLong; import org.redkale.net.*; import org.redkale.util.*; -import org.redkale.watch.*; +import org.redkale.watch.WatchFactory; /** * @@ -78,7 +78,9 @@ public final class HttpServer extends Server 0) { for (int i = 0; i < setHeaders.length; i++) { String val = setHeaders[i].getValue("value"); - if (val != null && val.startsWith("request.headers.")) { + if (val != null && val.startsWith("request.parameters.")) { + defaultSetHeaders.add(new String[]{setHeaders[i].getValue("name"), val, val.substring("request.parameters.".length()), null}); + } else if (val != null && val.startsWith("request.headers.")) { defaultSetHeaders.add(new String[]{setHeaders[i].getValue("name"), val, val.substring("request.headers.".length())}); } else { defaultSetHeaders.add(new String[]{setHeaders[i].getValue("name"), val});