protected void pushRequest(String method, String path, String version, String body, Map<String, String> addtionalHeaders) throws HttpException, IOException {
		push(method);
		push(" ");
		push(path);
		push(" HTTP/");
		push(version);
		newLine();
		push("Host:");
		push(getHost());
		newLine();
		if (addtionalHeaders != null) {
			Set<String> keys = addtionalHeaders.keySet();
			for (String key : keys) {
				String value = addtionalHeaders.get(key);
				if (outputChanel == null && key.equalsIgnoreCase("Accept-Encoding") && PATTERN_GZIP.matcher(value).matches()) {
					this.gzipFlag = true;
				}
				push(key);
				push(":");
				push(value);
				newLine();
			}
		}
		if ((addtionalHeaders == null || !addtionalHeaders.containsKey("User-Agent")) && userAgent != null) {
			push("User-Agent:");
			push(userAgent);
			newLine();
		}
// if (body != null && body.length() > 0) {
// push("Content-Type:");
// push("application/json");
// newLine();
// }
		push("Content-Length: ");
		push(Integer.toString(body.getBytes().length));
		newLine();
		newLine();
		push(body);
	}