public UserBody(Env env, CurlResource curl, Callable callback, BinaryInput file, long length) { _curl = curl; _callback = callback; _fileV = env.wrapJava(file); _length = length; }
/** * Returns a copy of this resource. */ public CurlResource clone() { CurlResource curl = new CurlResource(); curl.setBody(_body); curl.setConnectTimeout(_connectTimeoutMs); curl.setContentLength(_contentLength); curl.setContentType(_contentType); curl.setCookie(_cookie); curl.setCookieFilename(_cookieFilename); curl.setError(_error); curl.setErrorCode(_errorCode); curl.setFailOnError(_failOnError); curl.setHeaderCallback(_headerCallback); curl.setHeader(_header); curl.setIsFollowingRedirects(_isFollowingRedirects); curl.setIfModifiedSince(_ifModifiedSince); curl.setIsProxying(_isProxying); curl.setIsReturningBody(_isReturningBody); curl.setIsReturningData(_isReturningData); curl.setIsReturningHeader(_isReturningHeader); curl.setIsVerbose(_isVerbose); curl.setModifiedTime(_modifiedTime); curl.setOutputFile(_outputFile); curl.setOutputHeaderFile(_outputHeaderFile); curl.setPassword(_password); curl.setPasswordCallback(_passwordCallback); curl.setPort(_port); curl.setPostBody(_postBody); curl.setProxyPassword(_proxyPassword); curl.setProxyPort(_proxyPort); curl.setProxyType(_proxyType); curl.setProxyURL(_proxyURL); curl.setProxyUsername(_proxyUsername); curl.setReadCallback(_readCallback); curl.setReadTimeout(_readTimeoutMs); curl.setRequestMethod(_requestMethod); for (Map.Entry <String, String> entry : _requestProperties.entrySet()) { curl.setRequestProperty(entry.getKey(), entry.getValue()); } curl.setResponseCode(_responseCode); curl.setUploadFile(_uploadFile); curl.setUploadFileSize(_uploadFileSize); curl.setURL(_URL); curl.setUsername(_username); curl.setWriteCallback(_writeCallback); return(curl); }
protected void init(CurlResource curl) { Proxy proxy = getProxy(); if (proxy != null) { setConnection(_url.openConnection(proxy)); } else { setConnection(_url.openConnection()); } }
public Value readInfo(Env env, Value msgsInQueue) { if (_msgQueue.size() == 0) { return(BooleanValue.FALSE); } StringValue msgStr = env.createString("msg"); StringValue resultStr = env.createString("result"); StringValue handleStr = env.createString("handle"); CurlResource curl = _msgQueue.remove(0); ArrayValue array = new ArrayValueImpl(); array.put(msgStr, LongValue.create(CurlModule.CURLMSG_DONE)); array.put(resultStr, LongValue.create(CurlModule.CURLE_OK)); array.put(handleStr, curl); msgsInQueue.set(LongValue.create(_msgQueue.size())); return(array); }
protected override void init(CurlResource curl) { Proxy proxy = getProxy(); URLConnection conn; HttpsURLConnection httpsConn = null; if (proxy != null) { conn = getURL().openConnection(proxy); } else { conn = getURL().openConnection(); } if (conn instanceof HttpsURLConnection) { httpsConn = (HttpsURLConnection)conn; if (!curl.getIsVerifySSLPeer() || !curl.getIsVerifySSLCommonName() || !curl.getIsVerifySSLHostname()) { HostnameVerifier hostnameVerifier = CurlHostnameVerifier.create(curl.getIsVerifySSLPeer(), curl.getIsVerifySSLCommonName(), curl.getIsVerifySSLHostname()); httpsConn.setHostnameVerifier(hostnameVerifier); } } setConnection(conn); }
static PostBody create(Env env, CurlResource curl) { PostBody post; Value data = curl.getPostBody(); Callable bodyFun = curl.getReadCallback(); BinaryInput file = curl.getUploadFile(); long length = curl.getUploadFileSize(); if (data == null && bodyFun == null) { return(null); } else if (bodyFun != null) { post = new UserBody(env, curl, bodyFun, file, length); } else if (data.isArray()) { post = new MultipartBody(env, data); } else { post = new UrlEncodedBody(env, data); } if (post.isValid()) { return(post); } else { return(null); } }
public CurlHttpRequest(CurlResource curlResource) { _curl = curlResource; }
public HttpGetRequest(CurlResource curlResource) { super(curlResource); }
public void removeCurl(CurlResource curl) { bool isRemoved = _curlList.remove(curl); _msgQueue.remove(curl); }
public void addCurl(CurlResource curl) { _curlList.add(curl); }
/** * Transfer data to the server. */ protected void transfer(Env env) { super.transfer(env); CurlHttpConnection conn = getHttpConnection(); OutputStream @out = conn.getOutputStream(); CurlResource curl = getCurlResource(); try { BinaryInput in = curl.getUploadFile(); long length = curl.getUploadFileSize(); long totalWritten = 0; if (curl.getReadCallback() != null) { Callable callback = curl.getReadCallback(); Value fileV = env.wrapJava(in); LongValue lengthV = LongValue.create(length); while (totalWritten < length) { StringValue str = callback.call(env, fileV, lengthV).ToStringValue(env); int count = str.length(); if (count == 0) { break; } str.writeTo(out); totalWritten += count; } } else { byte [] buffer = new byte[1024 * 4]; while (totalWritten < length) { int count = in.read(buffer, 0, buffer.length); if (count < 0) { break; } @out.write(buffer, 0, count); totalWritten += count; } } } finally { @out.close(); } }
/** * Connects to the server. */ public void connect(CurlResource curl)