diff --git a/src/org/redkale/net/http/HttpRequest.java b/src/org/redkale/net/http/HttpRequest.java index f6437651f..46097162e 100644 --- a/src/org/redkale/net/http/HttpRequest.java +++ b/src/org/redkale/net/http/HttpRequest.java @@ -106,7 +106,12 @@ public class HttpRequest extends Request { if (req != null) { this.rpc = req.rpc; if (req.getBody() != null) this.array.write(req.getBody()); - if (req.getHeaders() != null) this.headers.putAll(req.getHeaders()); + if (req.getHeaders() != null) { + this.headers.putAll(req.getHeaders()); + if (this.headers.containsKey(Rest.REST_HEADER_CONVERT_TYPE)) { + this.respConvert = ConvertFactory.findConvert(ConvertType.valueOf(this.headers.get(Rest.REST_HEADER_CONVERT_TYPE))); + } + } if (req.getParams() != null) this.params.putAll(req.getParams()); if (req.getCurrentUserid() != 0) this.currentUserid = req.getCurrentUserid(); this.contentType = req.getContentType(); @@ -216,9 +221,6 @@ public class HttpRequest extends Request { case "content-length": this.contentLength = Long.decode(value); break; - case "convert-type": //redkale特有的 - respConvert = ConvertFactory.findConvert(ConvertType.valueOf(value)); - break; case "Host": case "host": this.host = value; @@ -249,6 +251,10 @@ public class HttpRequest extends Request { this.currentUserid = value; headers.put(name, value); break; + case Rest.REST_HEADER_CONVERT_TYPE: + respConvert = ConvertFactory.findConvert(ConvertType.valueOf(value)); + headers.put(name, value); + break; default: headers.put(name, value); } diff --git a/src/org/redkale/net/http/Rest.java b/src/org/redkale/net/http/Rest.java index f938998af..5d6a059ad 100644 --- a/src/org/redkale/net/http/Rest.java +++ b/src/org/redkale/net/http/Rest.java @@ -44,6 +44,8 @@ public final class Rest { public static final String REST_HEADER_CURRUSERID_NAME = "rest-curruserid-name"; + public static final String REST_HEADER_CONVERT_TYPE = "rest-convert-type"; + static final String REST_SERVICE_FIELD_NAME = "_redkale_service"; static final String REST_TOSTRINGOBJ_FIELD_NAME = "_redkale_tostringsupplier";