{"record":{"id":"71128c6c63921fc4","repo":"mileszs/wicked_pdf","slug":"could-not-fetch-asset-url-server-responded-w","errorCode":null,"errorMessage":"Could not fetch asset '#{url}': server responded with #{response.code} #{response.message}","messagePattern":"Could not fetch asset '#(.+?)': server responded with #(.+?) #(.+?)","errorType":"exception","errorClass":"WickedPdf::WickedPdfHelper::Assets::MissingRemoteAsset","httpStatus":null,"severity":"error","filePath":"lib/wicked_pdf/wicked_pdf_helper/assets.rb","lineNumber":268,"sourceCode":"\n          return\n        end\n\n        pathname = asset_pathname(source)\n        if pathname =~ URI_REGEXP\n          read_from_uri(pathname)\n        elsif File.file?(pathname)\n          IO.read(pathname)\n        elsif WickedPdf.config[:raise_on_missing_assets]\n          raise MissingLocalAsset, pathname if WickedPdf.config[:raise_on_missing_assets]\n        end\n      end\n\n      def read_from_uri(uri)\n        response = Net::HTTP.get_response(URI(uri))\n\n        unless response.is_a?(Net::HTTPSuccess)\n          raise MissingRemoteAsset.new(uri, response) if WickedPdf.config[:raise_on_missing_assets]\n\n          return\n        end\n\n        asset = response.body\n        asset.force_encoding('UTF-8') if asset\n        asset = gzip(asset) if WickedPdf.config[:expect_gzipped_remote_assets]\n        asset\n      end\n\n      def gzip(asset)\n        stringified_asset = StringIO.new(asset)\n        gzipper = Zlib::GzipReader.new(stringified_asset)\n        gzipper.read\n      rescue Zlib::GzipFile::Error\n        nil\n      end\n","sourceCodeStart":250,"sourceCodeEnd":286,"githubUrl":"https://github.com/mileszs/wicked_pdf/blob/bce498de547cdf00d037fdbec29fae844d69ee8e/lib/wicked_pdf/wicked_pdf_helper/assets.rb#L250-L286","documentation":"Error \"Could not fetch asset '#{url}': server responded with #{response.code} #{response.message}\" thrown in mileszs/wicked_pdf.","triggerScenarios":"Thrown at lib/wicked_pdf/wicked_pdf_helper/assets.rb:268 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bce498de547cdf00d037fdbec29fae844d69ee8e","analyzedAt":"2026-08-23T09:58:24.694Z","schemaVersion":2},"datasetVersion":"2026-08-23T13:39:53.451Z"}