bblimke/webmock · error · ArgumentError
Must provide either data or a filename when doing a PUT or P
Error message
Must provide either data or a filename when doing a PUT or POST
What it means
Error "Must provide either data or a filename when doing a PUT or POST" thrown in bblimke/webmock.
Source
Thrown at lib/webmock/http_lib_adapters/patron_adapter.rb:83
raise ArgumentError.new("Unable to open specified file.")
end
end
end
def self.build_request_signature(req)
uri = WebMock::Util::URI.heuristic_parse(req.url)
uri.path = uri.normalized_path.gsub("[^:]//","/")
if [:put, :post, :patch].include?(req.action)
if req.file_name
if !File.exist?(req.file_name) || !File.readable?(req.file_name)
raise ArgumentError.new("Unable to open specified file.")
end
request_body = File.read(req.file_name)
elsif req.upload_data
request_body = req.upload_data
else
raise ArgumentError.new("Must provide either data or a filename when doing a PUT or POST")
end
end
headers = req.headers
if req.credentials
headers['Authorization'] = WebMock::Util::Headers.basic_auth_header(req.credentials)
end
request_signature = WebMock::RequestSignature.new(
req.action,
uri.to_s,
body: request_body,
headers: headers
)
request_signature
end
View on GitHub (pinned to b187df8827)
When it happens
Trigger: Thrown at lib/webmock/http_lib_adapters/patron_adapter.rb:83 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of bblimke/webmock@b187df8827 (2026-08-23).
Data as JSON: /api/errors/39fb966abd0ff197.
Report an issue: GitHub.