diff --git a/lib/rb/lib/thrift/transport/http_client_transport.rb b/lib/rb/lib/thrift/transport/http_client_transport.rb
index e62a51c..22caf02 100644
--- a/lib/rb/lib/thrift/transport/http_client_transport.rb
+++ b/lib/rb/lib/thrift/transport/http_client_transport.rb
@@ -1,5 +1,5 @@
 # encoding: ascii-8bit
-# 
+#
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements. See the NOTICE file
 # distributed with this work for additional information
@@ -7,16 +7,16 @@
 # to you under the Apache License, Version 2.0 (the
 # "License"); you may not use this file except in compliance
 # with the License. You may obtain a copy of the License at
-# 
+#
 #   http://www.apache.org/licenses/LICENSE-2.0
-# 
+#
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied. See the License for the
 # specific language governing permissions and limitations
 # under the License.
-# 
+#
 
 require 'net/http'
 require 'net/https'
@@ -25,19 +25,25 @@
 
 module Thrift
   class HTTPClientTransport < BaseTransport
+
     def initialize(url)
       @url = URI url
+      @headers = {'Content-Type' => 'application/x-thrift'}
       @outbuf = ""
     end
 
     def open?; true end
     def read(sz); @inbuf.read sz end
     def write(buf); @outbuf << buf end
+
+    def add_headers(headers)
+      @headers = @headers.merge(headers)
+    end
+
     def flush
       http = Net::HTTP.new @url.host, @url.port
       http.use_ssl = @url.scheme == "https"
-      headers = { 'Content-Type' => 'application/x-thrift' }
-      resp, data = http.post(@url.request_uri, @outbuf, headers)
+      resp, data = http.post(@url.request_uri, @outbuf, @headers)
       @inbuf = StringIO.new data
       @outbuf = ""
     end
diff --git a/lib/rb/spec/http_client_spec.rb b/lib/rb/spec/http_client_spec.rb
index c5a9534..c919051 100644
--- a/lib/rb/spec/http_client_spec.rb
+++ b/lib/rb/spec/http_client_spec.rb
@@ -45,5 +45,20 @@
       @client.flush
       @client.read(10).should == "data"
     end
+
+    it "should send custom headers if defined" do
+      @client.write "test"
+      custom_headers = {"Cookie" => "Foo"}
+      headers = {"Content-Type"=>"application/x-thrift"}.merge(custom_headers)
+
+      @client.add_headers(custom_headers)
+      Net::HTTP.should_receive(:new).with("my.domain.com", 80).and_return do
+        mock("Net::HTTP").tee do |http|
+          http.should_receive(:use_ssl=).with(false)
+          http.should_receive(:post).with("/path/to/service?param=value", "test", headers).and_return([nil, "data"])
+        end
+      end
+      @client.flush
+    end
   end
 end
