+ # check if resource_body is valid JSON by attempting to parse it
+ _is_json = true
+ begin
+ # we don't actually need the results of the parsing,
+ # just checking for the JSON::ParserError exception
+ JSON.parse resource_body
+ rescue JSON::ParserError => e
+ _is_json = false
+ end
+ if !_is_json
+ # if resource_body is not valid JSON, it should be a filename (or '-' for stdin)
+ if resource_body == '-'
+ _resource_body_file = $stdin
+ else
+ _resource_body_file = File.open(resource_body, 'r')
+ end
+ resource_body = _resource_body_file.read()
+ _resource_body_file.close()
+ end