# File lib/deltacloud/helpers/blob_stream.rb, line 168
  def initialize(request)
    @client_request = request
    @size = 0
    bucket, blob = parse_bucket_blob(request.env["PATH_INFO"])
    user, password = parse_credentials(request.env['HTTP_AUTHORIZATION'])
    content_type = request.env['CONTENT_TYPE'] || ""
    #deal with blob_metadata: (X-Deltacloud-Blobmeta-name: value)
    user_meta = BlobHelper::extract_blob_metadata_hash(request.env)
    @content_length = request.env['CONTENT_LENGTH']
    @http, provider_request = driver.blob_stream_connection({:user=>user,
       :password=>password, :bucket=>bucket, :blob=>blob, :metadata=> user_meta,
       :content_type=>content_type, :content_length=>@content_length })
    @content_length = @content_length.to_i #for comparison of size in '<< (data)'
    @sock = @http.request(provider_request, nil, true)
  end