From 5b99084616951a39b790e98a86c5c7acfd5a5093 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Thu, 28 Dec 2017 19:59:45 +0800 Subject: [PATCH] --- src/org/redkale/net/http/Rest.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/org/redkale/net/http/Rest.java b/src/org/redkale/net/http/Rest.java index ec471f54e..59c667ce7 100644 --- a/src/org/redkale/net/http/Rest.java +++ b/src/org/redkale/net/http/Rest.java @@ -1413,9 +1413,20 @@ public final class Rest { boolean upload = en.getKey().contains("_upload"); mv.visitVarInsn(ALOAD, upload ? (maxLocals - 1) : 1); if (en.getKey().contains("_header_")) { - mv.visitLdcInsn(en.getValue()[0].toString()); - mv.visitLdcInsn(""); - mv.visitMethodInsn(INVOKEVIRTUAL, reqInternalName, "getHeader", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", false); + String headerkey = en.getValue()[0].toString(); + if ("Host".equalsIgnoreCase(headerkey)) { + mv.visitMethodInsn(INVOKEVIRTUAL, reqInternalName, "getHost", "()Ljava/lang/String;", false); + } else if ("Content-Type".equalsIgnoreCase(headerkey)) { + mv.visitMethodInsn(INVOKEVIRTUAL, reqInternalName, "getContentType", "()Ljava/lang/String;", false); + } else if ("Connection".equalsIgnoreCase(headerkey)) { + mv.visitMethodInsn(INVOKEVIRTUAL, reqInternalName, "getConnection", "()Ljava/lang/String;", false); + } else if ("Method".equalsIgnoreCase(headerkey)) { + mv.visitMethodInsn(INVOKEVIRTUAL, reqInternalName, "getMethod", "()Ljava/lang/String;", false); + } else { + mv.visitLdcInsn(headerkey); + mv.visitLdcInsn(""); + mv.visitMethodInsn(INVOKEVIRTUAL, reqInternalName, "getHeader", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", false); + } } else if (en.getKey().contains("_cookie_")) { mv.visitLdcInsn(en.getValue()[0].toString()); mv.visitLdcInsn("");