diff --git a/src/org/redkale/mq/HttpSimpleRequestCoder.java b/src/org/redkale/mq/HttpSimpleRequestCoder.java index d792bb6ee..8addd6805 100644 --- a/src/org/redkale/mq/HttpSimpleRequestCoder.java +++ b/src/org/redkale/mq/HttpSimpleRequestCoder.java @@ -32,11 +32,12 @@ public class HttpSimpleRequestCoder implements MessageCoder { byte[] requestURI = MessageCoder.getBytes(data.getRequestURI()); //long-string byte[] remoteAddr = MessageCoder.getBytes(data.getRemoteAddr());//short-string byte[] sessionid = MessageCoder.getBytes(data.getSessionid());//short-string + byte[] contentType = MessageCoder.getBytes(data.getContentType());//short-string byte[] headers = MessageCoder.getBytes(data.getHeaders()); byte[] params = MessageCoder.getBytes(data.getParams()); byte[] body = MessageCoder.getBytes(data.getBody()); int count = 4 + requestURI.length + 2 + remoteAddr.length + 2 + sessionid.length - + headers.length + params.length + 4 + body.length; + + 2 + contentType.length + headers.length + params.length + 4 + body.length; byte[] bs = new byte[count]; ByteBuffer buffer = ByteBuffer.wrap(bs); buffer.putInt(requestURI.length); @@ -45,6 +46,8 @@ public class HttpSimpleRequestCoder implements MessageCoder { if (remoteAddr.length > 0) buffer.put(remoteAddr); buffer.putChar((char) sessionid.length); if (sessionid.length > 0) buffer.put(sessionid); + buffer.putChar((char) contentType.length); + if (contentType.length > 0) buffer.put(contentType); buffer.put(headers); buffer.put(params); buffer.putInt(body.length); @@ -60,6 +63,7 @@ public class HttpSimpleRequestCoder implements MessageCoder { req.setRequestURI(MessageCoder.getLongString(buffer)); req.setRemoteAddr(MessageCoder.getShortString(buffer)); req.setSessionid(MessageCoder.getShortString(buffer)); + req.setContentType(MessageCoder.getShortString(buffer)); req.setHeaders(MessageCoder.getMap(buffer)); req.setParams(MessageCoder.getMap(buffer)); int len = buffer.getInt(); diff --git a/src/org/redkale/net/http/HttpRequest.java b/src/org/redkale/net/http/HttpRequest.java index 0d4819cc3..8a9fef80a 100644 --- a/src/org/redkale/net/http/HttpRequest.java +++ b/src/org/redkale/net/http/HttpRequest.java @@ -100,6 +100,7 @@ public class HttpRequest extends Request { if (req.getBody() != null) this.array.write(req.getBody()); if (req.getHeaders() != null) this.headers.putAll(req.getHeaders()); if (req.getParams() != null) this.params.putAll(req.getParams()); + this.contentType = req.getContentType(); this.remoteAddr = req.getRemoteAddr(); this.requestURI = req.getRequestURI(); if (req.getSessionid() != null && !req.getSessionid().isEmpty()) { @@ -114,6 +115,7 @@ public class HttpRequest extends Request { req.setHeaders(headers.isEmpty() ? null : headers); req.setParams(params.isEmpty() ? null : params); req.setRemoteAddr(getRemoteAddr()); + req.setContentType(getContentType()); req.setRequestURI(this.requestURI); req.setSessionid(getSessionid(false)); return req; diff --git a/src/org/redkale/net/http/HttpSimpleRequest.java b/src/org/redkale/net/http/HttpSimpleRequest.java index 4f193f83d..ca3e472a9 100644 --- a/src/org/redkale/net/http/HttpSimpleRequest.java +++ b/src/org/redkale/net/http/HttpSimpleRequest.java @@ -35,14 +35,18 @@ public class HttpSimpleRequest implements java.io.Serializable { protected String sessionid; @ConvertColumn(index = 4) + @Comment("Content-Type") + protected String contentType; + + @ConvertColumn(index = 5) @Comment("http header信息") protected Map headers; - @ConvertColumn(index = 5) + @ConvertColumn(index = 6) @Comment("参数信息") protected Map params; - @ConvertColumn(index = 6) + @ConvertColumn(index = 7) @Comment("http body信息") protected byte[] body; //对应HttpRequest.array @@ -61,6 +65,11 @@ public class HttpSimpleRequest implements java.io.Serializable { return this; } + public HttpSimpleRequest contentType(String contentType) { + this.contentType = contentType; + return this; + } + public HttpSimpleRequest headers(Map headers) { this.headers = headers; return this; @@ -108,6 +117,11 @@ public class HttpSimpleRequest implements java.io.Serializable { return this; } + public HttpSimpleRequest clearContentType() { + this.contentType = null; + return this; + } + public String getRequestURI() { return requestURI; } @@ -132,6 +146,14 @@ public class HttpSimpleRequest implements java.io.Serializable { this.remoteAddr = remoteAddr; } + public String getContentType() { + return contentType; + } + + public void setContentType(String contentType) { + this.contentType = contentType; + } + public Map getHeaders() { return headers; }