summaryrefslogtreecommitdiffstats
path: root/lib/puppet/indirector/request.rb
diff options
context:
space:
mode:
authorJesse Wolfe <jes5199@gmail.com>2010-03-15 14:16:09 -0700
committertest branch <puppet-dev@googlegroups.com>2010-02-17 06:50:53 -0800
commite5a78009f6bd593e7e3957f0dadb470e623396dd (patch)
treef1d386962e4a7ef5b4e20347653e570dccd141bf /lib/puppet/indirector/request.rb
parentf838389da0530201849958444dbbe60977935ad0 (diff)
downloadpuppet-e5a78009f6bd593e7e3957f0dadb470e623396dd.tar.gz
puppet-e5a78009f6bd593e7e3957f0dadb470e623396dd.tar.xz
puppet-e5a78009f6bd593e7e3957f0dadb470e623396dd.zip
Feature #3347 REST-ified FileBucket
FileBucket Files have been reimplemented as an indirector terminus so that they can be transmitted over REST. The old Network::Client.dipper has been replaced with a compatibility later in FileBucket::Dipper that uses the indirector to access filebucket termini. Slightly revised patch: * No longer allows nil contents in FileBucket outside of initialization * Uses File.exist? instead of the deprecated File.exists? * Tweaks JSON serialization and de-serialization to include "path" Deferred issues: * Feature #3371 "FileBucket should not keep files in memory". * Feature #3372 "Replace FileBucket Dipper with more idiomatic calls"
Diffstat (limited to 'lib/puppet/indirector/request.rb')
-rw-r--r--lib/puppet/indirector/request.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/puppet/indirector/request.rb b/lib/puppet/indirector/request.rb
index d9e66cb5b..14608d0dc 100644
--- a/lib/puppet/indirector/request.rb
+++ b/lib/puppet/indirector/request.rb
@@ -180,6 +180,14 @@ class Puppet::Indirector::Request
end
@protocol = uri.scheme
- @key = URI.unescape(uri.path.sub(/^\//, ''))
+
+ if uri.scheme == 'puppet'
+ @key = URI.unescape(uri.path.sub(/^\//, ''))
+ return
+ end
+
+ env, indirector, @key = URI.unescape(uri.path.sub(/^\//, '')).split('/',3)
+ @key ||= ''
+ self.environment = env unless env == ''
end
end