+ err = self.curl.native.easy_setopt(new CURLOption.url, url)
+ if not err.is_ok then return err
+
+ var user_agent = user_agent
+ if user_agent != null then
+ err = curl.native.easy_setopt(new CURLOption.user_agent, user_agent)
+ if not err.is_ok then return err
+ end
+
+ var unix_socket_path = unix_socket_path
+ if unix_socket_path != null then
+ err = self.curl.native.easy_setopt(new CURLOption.unix_socket_path, unix_socket_path)
+ if not err.is_ok then return err
+ end
+ return err
+ end
+
+ # Set cURL callback
+ private fun set_curl_callback(callback_receiver : CurlCallbacks) : CURLCode
+ do
+ var err
+
+ if self.delegate != null then callback_receiver = self.delegate.as(not null)
+
+ err = self.curl.native.register_callback_header(callback_receiver)
+ if not err.is_ok then return err
+
+ err = self.curl.native.register_callback_body(callback_receiver)
+ if not err.is_ok then return err
+
+ return err
+ end
+
+ # Set cURL request header according to attribute headers
+ private fun set_curl_http_header : CURLCode
+ do
+ var headers = self.headers
+ if headers != null then
+ var headers_joined = headers.join_pairs(": ")
+ var err = self.curl.native.easy_setopt(new CURLOption.httpheader, headers_joined.to_curlslist)
+ if not err.is_ok then return err
+ end
+ return new CURLCode.ok