From 433985bfee240834520de92e66ba28df95105489 Mon Sep 17 00:00:00 2001 From: Sergio Rubio Date: Wed, 23 Jan 2013 20:53:29 +0100 Subject: [PATCH] [openstack|storage] Added OpenStack.escape utility method Required by OpenStack Storage service. --- lib/fog/openstack.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/fog/openstack.rb b/lib/fog/openstack.rb index 8dfcac803..d37d2b849 100644 --- a/lib/fog/openstack.rb +++ b/lib/fog/openstack.rb @@ -200,6 +200,13 @@ module Fog Fog::JSON.decode(response.body) end + + # CGI.escape, but without special treatment on spaces + def self.escape(str,extra_exclude_chars = '') + str.gsub(/([^a-zA-Z0-9_.-#{extra_exclude_chars}]+)/) do + '%' + $1.unpack('H2' * $1.bytesize).join('%').upcase + end + end end end