From 7385d003f5310b80a178deca07f128ccf86e1fb1 Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Wed, 17 Mar 2010 15:26:48 -0400 Subject: [PATCH] return a response object instead of just a string --- lib/zendesk/main.rb | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/zendesk/main.rb b/lib/zendesk/main.rb index a395e7a..b6954c6 100644 --- a/lib/zendesk/main.rb +++ b/lib/zendesk/main.rb @@ -60,7 +60,32 @@ def make_request(end_url, body = {}) if curl.body_str == "Couldn't authenticate you" return "string" #raise CouldNotAuthenticateYou end - curl.body_str + Response.new(curl) + end + + class Response + + attr_reader :status, :body, :headers_raw, :headers + + def initialize(curl) + @status=curl.response_code + @body=curl.body_str + @headers_raw=curl.header_str + parse_headers + end + + def parse_headers + hs={} + headers_raw.split("\r\n")[1..-1].each do |h| +# Rails.logger.info h + m=h.match(/([^:]+):\s?(.*)/) + next if m.nil? or m[2].nil? +# Rails.logger.info m.inspect + hs[m[1]]=m[2] + end + @headers=hs + end + end include Zendesk::User