<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,6 @@
 = ActiveMerchant CHANGELOG
 
+* Update PostsData to support get requests [cody]
 * Fix broken Quickpay remote test [cody]
 * Update Quickpay gateway to v3. Add support for offsite integration for Danish Dankort cards [Lars Pind]
 * Use default partner id when passed in :partner is blank with PayflowGateway [cody]</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -27,38 +27,72 @@ module ActiveMerchant #:nodoc:
       base.read_timeout = READ_TIMEOUT
     end
     
+    def ssl_get(url, headers={})
+      ssl_request(:get, url, nil, headers)
+    end
+    
     def ssl_post(url, data, headers = {})
-      # Ruby 1.8.4 doesn't automatically set this header
-      headers['Content-Type'] ||= &quot;application/x-www-form-urlencoded&quot;
+      ssl_request(:post, url, data, headers)
+    end
+    
+    private
+    def retry_exceptions
+      retries = MAX_RETRIES
+      begin
+        yield
+      rescue RetriableConnectionError =&gt; e
+        retries -= 1
+        retry unless retries.zero?
+        raise ConnectionError, e.message
+      rescue ConnectionError
+        retries -= 1
+        retry if retry_safe &amp;&amp; !retries.zero?
+        raise
+      end
+    end
+    
+    def ssl_request(method, url, data, headers = {})
+      if method == :post
+        # Ruby 1.8.4 doesn't automatically set this header
+        headers['Content-Type'] ||= &quot;application/x-www-form-urlencoded&quot;
+      end
       
       uri   = URI.parse(url)
 
-      http = Net::HTTP.new(uri.host, uri.port) 
+      http = Net::HTTP.new(uri.host, uri.port)
       http.open_timeout = self.class.open_timeout
       http.read_timeout = self.class.read_timeout
-      http.use_ssl      = true
       
-      if ssl_strict
-        http.verify_mode    = OpenSSL::SSL::VERIFY_PEER
-        http.ca_file        = File.dirname(__FILE__) + '/../../certs/cacert.pem'
-      else
-        http.verify_mode    = OpenSSL::SSL::VERIFY_NONE
-      end
-      
-      if @options &amp;&amp; !@options[:pem].blank?
-        http.cert           = OpenSSL::X509::Certificate.new(@options[:pem])
+      if uri.scheme == &quot;https&quot;
+        http.use_ssl = true
         
-        if pem_password
-          raise ArgumentError, &quot;The private key requires a password&quot; if @options[:pem_password].blank?
-          http.key            = OpenSSL::PKey::RSA.new(@options[:pem], @options[:pem_password])
+        if ssl_strict
+          http.verify_mode    = OpenSSL::SSL::VERIFY_PEER
+          http.ca_file        = File.dirname(__FILE__) + '/../../certs/cacert.pem'
         else
-          http.key            = OpenSSL::PKey::RSA.new(@options[:pem])
+          http.verify_mode    = OpenSSL::SSL::VERIFY_NONE
+        end
+      
+        if @options &amp;&amp; !@options[:pem].blank?
+          http.cert           = OpenSSL::X509::Certificate.new(@options[:pem])
+        
+          if pem_password
+            raise ArgumentError, &quot;The private key requires a password&quot; if @options[:pem_password].blank?
+            http.key            = OpenSSL::PKey::RSA.new(@options[:pem], @options[:pem_password])
+          else
+            http.key            = OpenSSL::PKey::RSA.new(@options[:pem])
+          end
         end
       end
 
       retry_exceptions do 
         begin
-          http.post(uri.request_uri, data, headers).body
+          case method
+          when :get
+            http.get(uri.request_uri, headers).body
+          when :post
+            http.post(uri.request_uri, data, headers).body
+          end
         rescue EOFError =&gt; e
           raise ConnectionError, &quot;The remote server dropped the connection&quot;
         rescue Errno::ECONNRESET =&gt; e
@@ -69,21 +103,7 @@ module ActiveMerchant #:nodoc:
           raise ConnectionError, &quot;The connection to the remote server timed out&quot;
         end
       end
-    end    
-    
-    def retry_exceptions
-      retries = MAX_RETRIES
-      begin
-        yield
-      rescue RetriableConnectionError =&gt; e
-        retries -= 1
-        retry unless retries.zero?
-        raise ConnectionError, e.message
-      rescue ConnectionError
-        retries -= 1
-        retry if retry_safe &amp;&amp; !retries.zero?
-        raise
-      end
     end
+    
   end
-end
+end
\ No newline at end of file</diff>
      <filename>lib/active_merchant/lib/posts_data.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3daf6e1f3c32c26e6b1b8448cc9d74d1aa5193d1</id>
    </parent>
  </parents>
  <author>
    <name>Cody Fauser</name>
    <email>codyfauser@gmail.com</email>
  </author>
  <url>http://github.com/rayvinly/active_merchant/commit/b700acfd401e07be9c7daf09fb9680e16a04a43a</url>
  <id>b700acfd401e07be9c7daf09fb9680e16a04a43a</id>
  <committed-date>2009-03-11T08:22:13-07:00</committed-date>
  <authored-date>2009-03-11T08:22:13-07:00</authored-date>
  <message>Update PostsData to support get requests</message>
  <tree>34ef6af00d234374fe51be88520f61d55834e71b</tree>
  <committer>
    <name>Cody Fauser</name>
    <email>codyfauser@gmail.com</email>
  </committer>
</commit>
