<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,4 @@
+* 0.2.0 - added ssl support for requests
 * 0.1.3 - addded URI.escape around the built urls that are being requested
 * 0.1.2 - added raw_data option to post method
 * 0.1.1 - added post request method</diff>
      <filename>History.txt</filename>
    </modified>
    <modified>
      <diff>@@ -9,105 +9,73 @@ module Google
   class LoginError &lt; Exception; end
   URL        = 'http://www.google.com'
   LOGIN_URL  = 'https://www.google.com:443/accounts/ClientLogin'
-  SOURCE     = 'GReader Ruby API'
+  SOURCE     = 'Google Auth Base Ruby Gem'
   
   class Base
-    class &lt;&lt; self
-      # Given an email and password it creates a new connection 
-      # which will be used for this class and all sub classes.
-      #
-      # Raises Google::LoginError if login fails or if, god forbid,
-      # google is having issues.
-      def establish_connection(email, password)
-        @@connection = new(email, password)
-      end
-      
-      # Returns the current connection
-      def connection
-        @@connection
-      end
-      
-      # Changes the current connection to the one provided.
-      # If in an app you store the connection in a session, 
-      # you can reuse it instead of establishing a new connection
-      # with each request. 
-      #
-      # Usage: 
-      #   Google::Base.connection = session[:connection] # =&gt; or whatever
-      def connection=(new_connection)
-        @@connection = new_connection
-      end
-      
-      # Makes a get request to a google service using 
-      # the session id from the connection's session
-      # 
-      # Usage:
-      #   get('http://google.com/some/thing')
-      #   get('http://google.com/some/thing', :query_hash =&gt; {:q =&gt; 'test', :second =&gt; 'another'})
-      #     # makes request to http://google.com/some/thing?q=test&amp;second=another
-      #   get('http://google.com/some/thing?ha=poo', :query_hash =&gt; {:q =&gt; 'test', :second =&gt; 'another'}, :qsi =&gt; '&amp;')
-      #     # makes request to http://google.com/some/thing?ha=poo&amp;q=test&amp;second=another
-      def get(url, o={})
-        options = {
-          :query_hash =&gt; nil,
-          :qsi =&gt; '?'
-        }.merge(o)
-        request 'get', url, options
-      end
-      
-      # Makes a post request to a google service using
-      # the session id from the connection's session
-      #
-      # Usage:
-      #   post('http://google.com/some/thing', :form_data =&gt; {:one =&gt; '1', :two =&gt; '2'})
-      #     # makes a post request to http://google.com/some/thing with the post data set to one=1&amp;two=2
-      #   post('http://google.com/some/thing', :raw_data =&gt; &quot;some=thing&amp;another=thing&quot;)
-      #     # makes a post request to http://google.com/some/thing with the post data set to some=thing&amp;another=thing
-      def post(url, o={})
-        options = {
-          :form_data =&gt; nil,
-          :raw_data =&gt; nil,
-        }.merge(o)
-        if options[:raw_data]
-          url    = URI.parse(URI.escape(url))
-          http   = Net::HTTP.new(url.host, url.port)
-          result = http.request_post(url.request_uri, options[:raw_data], @@connection.headers)
-          result.body
-        else
-          request 'post', url, options
-        end
+    # Given an email and password it creates a new connection 
+    # which will be used for this class and all sub classes.
+    #
+    # Raises Google::LoginError if login fails or if, god forbid,
+    # google is having issues.
+    def self.establish_connection(email, password)
+      @@connection = new(email, password)
+    end
+    
+    # Returns the current connection
+    def self.connection
+      @@connection
+    end
+    
+    # Changes the current connection to the one provided.
+    # If in an app you store the connection in a session, 
+    # you can reuse it instead of establishing a new connection
+    # with each request. 
+    #
+    # Usage: 
+    #   Google::Base.connection = session[:connection] # =&gt; or whatever
+    def self.connection=(new_connection)
+      @@connection = new_connection
+    end
+    
+    # Makes a get request to a google service using 
+    # the session id from the connection's session
+    # 
+    # Usage:
+    #   get('http://google.com/some/thing')
+    #   get('http://google.com/some/thing', :query_hash =&gt; {:q =&gt; 'test', :second =&gt; 'another'})
+    #     # makes request to http://google.com/some/thing?q=test&amp;second=another
+    #   get('http://google.com/some/thing?ha=poo', :query_hash =&gt; {:q =&gt; 'test', :second =&gt; 'another'}, :qsi =&gt; '&amp;')
+    #     # makes request to http://google.com/some/thing?ha=poo&amp;q=test&amp;second=another
+    def self.get(url, o={})
+      options = {
+        :query_hash =&gt; nil,
+        :qsi =&gt; '?'
+      }.merge(o)
+      request 'get', url, options
+    end
+    
+    # Makes a post request to a google service using
+    # the session id from the connection's session
+    #
+    # Usage:
+    #   post('http://google.com/some/thing', :form_data =&gt; {:one =&gt; '1', :two =&gt; '2'})
+    #     # makes a post request to http://google.com/some/thing with the post data set to one=1&amp;two=2
+    #   post('http://google.com/some/thing', :raw_data =&gt; &quot;some=thing&amp;another=thing&quot;)
+    #     # makes a post request to http://google.com/some/thing with the post data set to some=thing&amp;another=thing
+    def self.post(url, o={})
+      options = {
+        :form_data =&gt; nil,
+        :raw_data =&gt; nil,
+      }.merge(o)
+      if options[:raw_data]
+        url    = URI.parse(URI.escape(url))
+        http   = Net::HTTP.new(url.host, url.port)
+        http.use_ssl = true if url.port == 443
+        result = http.request_post(url.request_uri, options[:raw_data], @@connection.headers)
+        result.body
+      else
+        request 'post', url, options
       end
-      
-      private
-        def request(method, url, o={})
-          options = {
-            :form_data  =&gt; nil, 
-            :query_hash =&gt; nil,
-            :qsi        =&gt; '?'
-          }.merge(o)
-          
-          url += hash_to_query_string(options[:query_hash], options[:qsi]) unless options[:query_hash].nil?
-          url  = URI.parse(URI.escape(url))
-          req  = if method == 'post'
-            Net::HTTP::Post.new(url.request_uri, @@connection.headers)
-          else
-            Net::HTTP::Get.new(url.request_uri, @@connection.headers)
-          end
-          req.set_form_data(options[:form_data]) if options[:form_data]
-          
-          http   = Net::HTTP.new(url.host, url.port)
-          result = http.start() { |conn| conn.request(req) }
-    			result.body
-        end
-        
-        # Converts a hash to a query string
-        #
-        # Usage:
-        #   hash_to_query_string({:q =&gt; 'test', :num =&gt; 5}) # =&gt; '?q=test&amp;num=5&amp;'        
-        #   hash_to_query_string({:q =&gt; 'test', :num =&gt; 5}, '&amp;') # =&gt; '&amp;q=test&amp;num=5&amp;'
-        def hash_to_query_string(hash, initial_value=&quot;?&quot;)
-          hash.inject(initial_value) { |qs, h| qs += &quot;#{h[0]}=#{h[1]}&amp;&quot;; qs }
-        end
     end
     
     # Session id returned from google login request
@@ -151,6 +119,37 @@ module Google
     end
     
     private
+      def self.request(method, url, o={})
+        options = {
+          :form_data  =&gt; nil, 
+          :query_hash =&gt; nil,
+          :qsi        =&gt; '?'
+        }.merge(o)
+
+        url += hash_to_query_string(options[:query_hash], options[:qsi]) unless options[:query_hash].nil?
+        url  = URI.parse(URI.escape(url))
+        req  = if method == 'post'
+          Net::HTTP::Post.new(url.request_uri, @@connection.headers)
+        else
+          Net::HTTP::Get.new(url.request_uri, @@connection.headers)
+        end
+        req.set_form_data(options[:form_data]) if options[:form_data]
+
+        http   = Net::HTTP.new(url.host, url.port)
+        http.use_ssl = true if url.port == 443
+        result = http.start() { |conn| conn.request(req) }
+  			result.body
+      end
+
+      # Converts a hash to a query string
+      #
+      # Usage:
+      #   hash_to_query_string({:q =&gt; 'test', :num =&gt; 5}) # =&gt; '?q=test&amp;num=5&amp;'        
+      #   hash_to_query_string({:q =&gt; 'test', :num =&gt; 5}, '&amp;') # =&gt; '&amp;q=test&amp;num=5&amp;'
+      def self.hash_to_query_string(hash, initial_value=&quot;?&quot;)
+        hash.inject(initial_value) { |qs, h| qs += &quot;#{h[0]}=#{h[1]}&amp;&quot;; qs }
+      end
+      
       def extract_sid(body)
         matches = body.match(/SID=(.*)/)
         matches.nil? ? nil : matches[0].gsub('SID=', '')</diff>
      <filename>lib/google/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,8 @@
 module Google #:nodoc:
   module VERSION #:nodoc:
     MAJOR = 0
-    MINOR = 1
-    TINY  = 3
+    MINOR = 2
+    TINY  = 0
 
     STRING = [MAJOR, MINOR, TINY].join('.')
   end</diff>
      <filename>lib/google/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,35 @@
-# require File.dirname(__FILE__) + '/test_helper.rb'
-# 
-# class TestGooglebase &lt; Test::Unit::TestCase
-# 
-#   def setup
-#   end
-#   
-#   def test_truth
-#     assert true
-#   end
-# end
+require File.dirname(__FILE__) + '/test_helper.rb'
+
+# I am fully aware these are lacking. Haven't had the time to figure out best way to test this since it is in essence a hack.
+
+class TestGooglebase &lt; Test::Unit::TestCase
+
+  def setup
+  end
+  
+  def test_should_make_http_get_request
+    html = Google::Base.get('http://www.google.com/reader/user-info')
+    assert html =~ /webgroup@nd\.edu/
+  end
+  
+  def test_should_make_https_get_request
+    html = Google::Base.get('https://www.google.com:443/analytics/home/')
+    assert html =~ /webgroup\.nd\.edu/
+  end
+  
+  def test_should_make_http_post_request
+    
+  end
+  
+  def test_should_make_https_post_request
+    
+  end
+  
+  def test_should_make_http_post_request_with_raw_data
+    
+  end
+  
+  def test_should_make_https_post_request_with_raw_data
+    
+  end
+end
\ No newline at end of file</diff>
      <filename>test/test_googlebase.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,6 @@
 require 'test/unit'
-require File.dirname(__FILE__) + '/../lib/googlebase'
+require 'yaml'
+require File.dirname(__FILE__) + '/../lib/google/base'
+
+config = YAML::load(open(File.join(ENV['HOME'], '.statwhore')))
+Google::Base.establish_connection(config[:username], config[:password])
\ No newline at end of file</diff>
      <filename>test/test_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a283e7af91014baa709c48c492afdc77406461c8</id>
    </parent>
  </parents>
  <author>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </author>
  <url>http://github.com/jnunemaker/googlebase/commit/5be561cd10c11f6f0fe1aebc222466c72077dbf4</url>
  <id>5be561cd10c11f6f0fe1aebc222466c72077dbf4</id>
  <committed-date>2008-02-13T22:58:28-08:00</committed-date>
  <authored-date>2008-02-13T22:58:28-08:00</authored-date>
  <message>added ssl support for get and post methods</message>
  <tree>2216ec04ef5283f1162de4390a3b6aab5a3b8d02</tree>
  <committer>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </committer>
</commit>
