Skip to content

Commit

Permalink
Renamed the Libcurl class to Request.
Browse files Browse the repository at this point in the history
  • Loading branch information
Phillip Toland committed Jan 12, 2009
1 parent 8dacc0f commit 9561c4f
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 37 deletions.
8 changes: 4 additions & 4 deletions Rakefile
Expand Up @@ -12,16 +12,16 @@ require 'rbconfig'
include Config

EXT_DIR = 'ext/patron'
LIBCURL_SO = "#{EXT_DIR}/libcurl.#{CONFIG['DLEXT']}"
LIBCURL_SRC = "#{EXT_DIR}/libcurl.c"
REQUEST_SO = "#{EXT_DIR}/request.#{CONFIG['DLEXT']}"
REQUEST_SRC = "#{EXT_DIR}/request.c"

CLEAN.include FileList["#{EXT_DIR}/*"].exclude(/^.*\.(rb|c)$/)
CLOBBER.include %w( doc coverage pkg )

desc "Compile extension"
task :compile => LIBCURL_SO
task :compile => REQUEST_SO

file LIBCURL_SO => LIBCURL_SRC do
file REQUEST_SO => REQUEST_SRC do
cd EXT_DIR do
ruby 'extconf.rb'
sh 'make'
Expand Down
2 changes: 1 addition & 1 deletion ext/patron/extconf.rb
Expand Up @@ -17,4 +17,4 @@
$CFLAGS << ' -Wall'
end

create_makefile 'patron/libcurl'
create_makefile 'patron/request'
54 changes: 27 additions & 27 deletions ext/patron/libcurl.c → ext/patron/request.c
Expand Up @@ -2,7 +2,7 @@
#include <curl/curl.h>

static VALUE mPatron = Qnil;
static VALUE cLibcurl = Qnil;
static VALUE cRequest = Qnil;
static VALUE mCurlOpts = Qnil;
static VALUE mCurlInfo = Qnil;

Expand All @@ -15,13 +15,13 @@ struct curl_state {
// Callback support
//

static size_t libcurl_write_shim(char* stream, size_t size, size_t nmemb, VALUE proc) {
static size_t request_write_shim(char* stream, size_t size, size_t nmemb, VALUE proc) {
size_t result = size * nmemb;
rb_funcall(proc, rb_intern("call"), 1, rb_str_new(stream, result));
return result;
}

static size_t libcurl_read_shim(char* stream, size_t size, size_t nmemb, VALUE proc) {
static size_t request_read_shim(char* stream, size_t size, size_t nmemb, VALUE proc) {
size_t result = size * nmemb;
VALUE string = rb_funcall(proc, rb_intern("call"), 1, result);
size_t len = RSTRING(string)->len;
Expand All @@ -34,14 +34,14 @@ static size_t libcurl_read_shim(char* stream, size_t size, size_t nmemb, VALUE p
// Object allocation
//

void libcurl_free(struct curl_state *curl) {
void request_free(struct curl_state *curl) {
curl_easy_cleanup(curl->handle);
free(curl);
}

VALUE libcurl_alloc(VALUE klass) {
VALUE request_alloc(VALUE klass) {
struct curl_state* curl;
VALUE obj = Data_Make_Struct(klass, struct curl_state, NULL, libcurl_free, curl);
VALUE obj = Data_Make_Struct(klass, struct curl_state, NULL, request_free, curl);
return obj;
}

Expand All @@ -50,12 +50,12 @@ VALUE libcurl_alloc(VALUE klass) {
// Method implementations
//

VALUE libcurl_version(VALUE klass) {
VALUE request_version(VALUE klass) {
char* value = curl_version();
return rb_str_new2(value);
}

VALUE libcurl_initialize(VALUE self) {
VALUE request_initialize(VALUE self) {
struct curl_state *curl;
Data_Get_Struct(self, struct curl_state, curl);

Expand All @@ -64,7 +64,7 @@ VALUE libcurl_initialize(VALUE self) {
return self;
}

VALUE libcurl_escape(VALUE self, VALUE value) {
VALUE request_escape(VALUE self, VALUE value) {
struct curl_state *curl;
Data_Get_Struct(self, struct curl_state, curl);

Expand All @@ -79,7 +79,7 @@ VALUE libcurl_escape(VALUE self, VALUE value) {
return retval;
}

VALUE libcurl_unescape(VALUE self, VALUE value) {
VALUE request_unescape(VALUE self, VALUE value) {
struct curl_state *curl;
Data_Get_Struct(self, struct curl_state, curl);

Expand All @@ -95,24 +95,24 @@ VALUE libcurl_unescape(VALUE self, VALUE value) {
return retval;
}

VALUE libcurl_setopt(VALUE self, VALUE optval, VALUE parameter) {
VALUE request_setopt(VALUE self, VALUE optval, VALUE parameter) {
struct curl_state *curl;
Data_Get_Struct(self, struct curl_state, curl);

int option = FIX2INT(optval);
switch (option) {
case CURLOPT_READFUNCTION:
curl_easy_setopt(curl, CURLOPT_READFUNCTION, &libcurl_read_shim);
curl_easy_setopt(curl, CURLOPT_READFUNCTION, &request_read_shim);
curl_easy_setopt(curl, CURLOPT_READDATA, parameter);
break;

case CURLOPT_WRITEFUNCTION:
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &libcurl_write_shim);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &request_write_shim);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, parameter);
break;

case CURLOPT_HEADERFUNCTION:
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, &libcurl_write_shim);
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, &request_write_shim);
curl_easy_setopt(curl, CURLOPT_HEADERDATA, parameter);
break;

Expand All @@ -134,7 +134,7 @@ VALUE libcurl_setopt(VALUE self, VALUE optval, VALUE parameter) {
return Qnil;
}

VALUE libcurl_getinfo(VALUE self, VALUE infoval) {
VALUE request_getinfo(VALUE self, VALUE infoval) {
struct curl_state *curl;
Data_Get_Struct(self, struct curl_state, curl);

Expand Down Expand Up @@ -189,7 +189,7 @@ VALUE libcurl_getinfo(VALUE self, VALUE infoval) {
}
}

VALUE libcurl_perform(VALUE self) {
VALUE request_perform(VALUE self) {
struct curl_state *curl;
Data_Get_Struct(self, struct curl_state, curl);

Expand All @@ -203,7 +203,7 @@ VALUE libcurl_perform(VALUE self) {
// Extension initialization
//

void Init_libcurl() {
void Init_request() {
curl_global_init(CURL_GLOBAL_NOTHING);

mPatron = rb_define_module("Patron");
Expand Down Expand Up @@ -301,17 +301,17 @@ void Init_libcurl() {
define_curl_info(FTP_ENTRY_PATH);


// Libcurl class
cLibcurl = rb_define_class_under(mPatron, "Libcurl", rb_cObject);
// Request class
cRequest = rb_define_class_under(mPatron, "Request", rb_cObject);

rb_define_alloc_func(cLibcurl, libcurl_alloc);
rb_define_alloc_func(cRequest, request_alloc);

rb_define_singleton_method(cLibcurl, "version", libcurl_version, 0);
rb_define_singleton_method(cRequest, "version", request_version, 0);

rb_define_method(cLibcurl, "initialize", libcurl_initialize, 0);
rb_define_method(cLibcurl, "escape", libcurl_escape, 1);
rb_define_method(cLibcurl, "unescape", libcurl_unescape, 1);
rb_define_method(cLibcurl, "setopt", libcurl_setopt, 2);
rb_define_method(cLibcurl, "getinfo", libcurl_getinfo, 1);
rb_define_method(cLibcurl, "perform", libcurl_perform, 0);
rb_define_method(cRequest, "initialize", request_initialize, 0);
rb_define_method(cRequest, "escape", request_escape, 1);
rb_define_method(cRequest, "unescape", request_unescape, 1);
rb_define_method(cRequest, "setopt", request_setopt, 2);
rb_define_method(cRequest, "getinfo", request_getinfo, 1);
rb_define_method(cRequest, "perform", request_perform, 0);
}
10 changes: 5 additions & 5 deletions spec/libcurl_spec.rb → spec/request_spec.rb
@@ -1,14 +1,14 @@
require File.dirname(__FILE__) + '/spec_helper.rb'
require 'patron/libcurl'
require 'patron/request'

describe Patron::Libcurl, "SPI" do
describe Patron::Request do

before(:each) do
@curl = Patron::Libcurl.new
@curl = Patron::Request.new
end

it "should return the version number of the libcurl library" do
version = Patron::Libcurl.version
it "should return the version number of the request library" do
version = Patron::Request.version
version.should be_kind_of(String)
end

Expand Down

0 comments on commit 9561c4f

Please sign in to comment.