public HttpRequestBase createHttpRequestBase(ClientConfiguration paramClientConfiguration, BCSHttpRequest paramBCSHttpRequest) {
		String str = buildUri(paramClientConfiguration, paramBCSHttpRequest);
		log.debug(paramBCSHttpRequest.getHttpMethod().toString() + "  " + str);
		HttpRequestBase localObject1;
		HttpEntity localObject3;
		if (paramBCSHttpRequest.getHttpMethod() == HttpMethodName.GET) {
			localObject1 = new HttpGet(str);
		} else if (paramBCSHttpRequest.getHttpMethod() == HttpMethodName.PUT) {
			HttpPut localObject2 = new HttpPut(str);
			localObject1 = localObject2;
			if (null != paramBCSHttpRequest.getContent()) {
				localObject3 = new RepeatableInputStreamRequestEntity(paramBCSHttpRequest);
				localObject2.setEntity(localObject3);
			}
		} else if (paramBCSHttpRequest.getHttpMethod() == HttpMethodName.DELETE) {
			localObject1 = new HttpDelete(str);
		} else if (paramBCSHttpRequest.getHttpMethod() == HttpMethodName.HEAD) {
			localObject1 = new HttpHead(str);
		} else {
			throw new BCSClientException("Unknown HTTP method name:" + paramBCSHttpRequest.getHttpMethod().toString());
		}

		for (String key : paramBCSHttpRequest.getHeaders().keySet()) {
			if("Content-Length".equalsIgnoreCase(key)){
				continue;
			}
			localObject1.addHeader(key, paramBCSHttpRequest.getHeaders().get(key));
		}
		if(localObject1.getHeaders("Content-Type") == null || localObject1.getHeaders("Content-Type").length <= 0){
			localObject1.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=" + Constants.DEFAULT_ENCODING.toLowerCase());
		}
		
		return ((HttpRequestBase) (HttpRequestBase) (HttpRequestBase) localObject1);
	}