Method: Chef::ChefFS::FileSystem::ChefServer::CookbooksDir#upload_cookbook_from

Defined in:
lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb

#upload_cookbook_from(other, options = {}) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb', line 59

def upload_cookbook_from(other, options = {})
  upload_cookbook(other, options)
rescue Timeout::Error => e
  raise Chef::ChefFS::FileSystem::OperationFailedError.new(:write, self, e, "Timeout writing: #{e}")
rescue Net::HTTPClientException => e
  case e.response.code
  when "409"
    raise Chef::ChefFS::FileSystem::CookbookFrozenError.new(:write, self, e, "Cookbook #{other.name} is frozen")
  else
    raise Chef::ChefFS::FileSystem::OperationFailedError.new(:write, self, e, "HTTP error writing: #{e}")
  end
rescue Chef::Exceptions::CookbookFrozen => e
  raise Chef::ChefFS::FileSystem::CookbookFrozenError.new(:write, self, e, "Cookbook #{other.name} is frozen")
end