Sha256: 1b2b062569df23e8c77e8baf1c2d142eacbf050ad326e0c254c5ced2a1e4a52b

Contents?: true

Size: 581 Bytes

Versions: 2

Compression:

Stored size: 581 Bytes

Contents

require 'uri'

module VagrantPlugins
  module GSAuth
    class ExpandGSUrls
      def initialize(app, _)
        @app = app
      end

      def call(env)
        env[:box_urls].map! do |url_string|
          url = URI(url_string)

          if url.scheme == 'gs'
            bucket = url.host
            key = url.path[1..-1]
            raise Errors::MalformedShorthandURLError, url: url unless bucket && key
            next "https://storage.cloud.google.com/#{bucket}/#{key}"
          end

          url_string
        end

        @app.call(env)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vagrant-gsauth-1.0.1 lib/vagrant-gsauth/middleware/expand_gs_urls.rb
vagrant-gsauth-1.0.0 lib/vagrant-gsauth/middleware/expand_gs_urls.rb