lib/networking.rb in carthage_remote_cache-0.0.4 vs lib/networking.rb in carthage_remote_cache-0.0.5

- old
+ new

@@ -6,10 +6,11 @@ @config = config end # Version Files + # @return VersionFile or nil def download_version_file(carthage_dependency) url = new_version_file_url(carthage_dependency) $LOG.debug("Downloading version file from #{url}") version_file = RestClient.get(url) do |response, request, result| if response.code == 200 @@ -20,36 +21,49 @@ end end version_file end + # @raise AppError on upload failure def upload_version_file(carthage_dependency) url = new_version_file_url(carthage_dependency) $LOG.debug("Uploading #{carthage_dependency.version_filename}") - RestClient.post(url, :version_file => File.new(carthage_dependency.version_filepath)) + RestClient.post(url, :version_file => File.new(carthage_dependency.version_filepath)) do |response, request, result| + unless response.code == 200 + raise AppError.new, "Version file upload #{carthage_dependency.version_filename} failed, response:\n #{response[0..300]}" + end + end end # Archives + # @return Hash with CarthageArchive and checksum or nil def download_framework_archive(carthage_dependency, framework_name, platform) url = new_framework_url(carthage_dependency, framework_name, platform) $LOG.debug("Downloading framework from #{url}") archive = RestClient.get(url) do |response, request, result| if response.code == 200 archive = CarthageArchive.new(framework_name, platform) File.write(archive.archive_path, response.to_s) - archive + {:archive => archive, :checksum => response.headers[ARCHIVE_CHECKSUM_HEADER_REST_CLIENT]} else nil end end archive end - def upload_framework_archive(zipfile_name, carthage_dependency, framework_name, platform) + # @raise AppError when upload fails + def upload_framework_archive(zipfile_name, carthage_dependency, framework_name, platform, checksum) url = new_framework_url(carthage_dependency, framework_name, platform) - $LOG.debug("Uploading framework to #{url}") - RestClient.post(url, :framework_file => File.new(zipfile_name)) + params = {:framework_file => File.new(zipfile_name)} + headers = {ARCHIVE_CHECKSUM_HEADER_REST_CLIENT => checksum} + $LOG.debug("Uploading framework to #{url}, headers: #{headers}") + RestClient.post(url, params, headers) do |response, request, result| + unless response.code == 200 + raise AppError.new, "Framework upload #{zipfile_name} failed, response:\n #{response[0..300]}" + end + end end private def new_version_file_url(carthage_dependency)