ext/curb-original/curb_easy.c in rhack-0.4.1 vs ext/curb-original/curb_easy.c in rhack-1.0.0.rc4
- old
+ new
@@ -209,14 +209,10 @@
}
if (rbce->curl) {
curl_easy_cleanup(rbce->curl);
}
-
- if (rbce->first) {
- curl_formfree(rbce->first);
- }
}
void curl_easy_free(ruby_curl_easy *rbce) {
ruby_curl_easy_free(rbce);
free(rbce);
@@ -703,19 +699,15 @@
long len;
Data_Get_Struct(self, ruby_curl_easy, rbce);
curl = rbce->curl;
- if (rbce->first) {
- curl_formfree(rbce->first);
- rbce->first = NULL;
- rbce->last = NULL;
- }
- rbce->multipart_form_post = 0;
+
if ( post_body == Qnil ) {
//rbce->postdata_buffer = Qnil;
- rb_easy_del("postdata_buffer");
+ rb_easy_del("postdata_buffer");
+
} else {
if (rb_type(post_body) == T_STRING) {
data = StringValuePtr(post_body);
len = RSTRING_LEN(post_body);
}
@@ -740,47 +732,11 @@
return post_body;
}
return Qnil;
}
-static VALUE ruby_curl_easy_multipart_post_body_set(VALUE self, VALUE ary) {
- ruby_curl_easy *rbce;
- CURL *curl;
- int i;
-
- Data_Get_Struct(self, ruby_curl_easy, rbce);
- curl = rbce->curl;
- if (rbce->first) {
- curl_formfree(rbce->first);
- rbce->first = NULL;
- rbce->last = NULL;
- }
-
- // Make the multipart form
- rbce->multipart_form_post = 1;
- for (i=0; i<RARRAY_LEN(ary); i++) {
- if (rb_obj_is_instance_of(RARRAY_PTR(ary)[i], cCurlPostField)) {
- append_to_form(RARRAY_PTR(ary)[i], &(rbce->first), &(rbce->last));
- }
- else {
- if (rbce->first) {
- curl_formfree(rbce->first);
- rbce->first = NULL;
- rbce->last = NULL;
- }
- rb_raise(eCurlErrInvalidPostField, "You must use only PostFields with multipart form posts");
- return Qnil;
- }
- }
- //rbce->postdata_buffer = ary;
- rb_easy_set("postdata_buffer", post_body);
- curl_easy_setopt(curl, CURLOPT_POST, 0);
- curl_easy_setopt(curl, CURLOPT_HTTPPOST, rbce->first);
- return Qnil;
-}
-
/*
* call-seq:
* easy.post_body => string or nil
*
* Obtain the POST body used in this Curl::Easy instance.
@@ -2399,16 +2355,10 @@
return rb_funcall(self, rb_intern("perform"), 0);
}
}
}
-static VALUE ruby_curl_easy_set_method_get(VALUE self, VALUE onoff) {
- ruby_curl_easy *rbce;
- Data_Get_Struct(self, ruby_curl_easy, rbce);
- curl_easy_setopt(rbce->curl, CURLOPT_HTTPGET, RTEST(onoff));
- return onoff;
-}
/*
* call-seq:
* easy.http_put(data) => true
*
@@ -3313,10 +3263,9 @@
rb_define_method(cCurlEasy, "certtype", ruby_curl_easy_certtype_get, 0);
rb_define_method(cCurlEasy, "encoding=", ruby_curl_easy_encoding_set, 1);
rb_define_method(cCurlEasy, "encoding", ruby_curl_easy_encoding_get, 0);
rb_define_method(cCurlEasy, "useragent=", ruby_curl_easy_useragent_set, 1);
rb_define_method(cCurlEasy, "useragent", ruby_curl_easy_useragent_get, 0);
- rb_define_method(cCurlEasy, "multipart_post_body=", ruby_curl_easy_multipart_post_body_set, 1);
rb_define_method(cCurlEasy, "post_body=", ruby_curl_easy_post_body_set, 1);
rb_define_method(cCurlEasy, "post_body", ruby_curl_easy_post_body_get, 0);
rb_define_method(cCurlEasy, "put_data=", ruby_curl_easy_put_data_set, 1);
rb_define_method(cCurlEasy, "ftp_commands=", ruby_curl_easy_ftp_commands_set, 1);
rb_define_method(cCurlEasy, "ftp_commands", ruby_curl_easy_ftp_commands_get, 0);