У меня есть функция ruby, которая подключается к Jira и возвращает изображение аватара пользователя, закодированное в base64 (см. «RequestImage» ниже). У меня нет никакого способа провести различие между изображением «неработающей ссылки», полученным, когда пользователь не установил изображение для своего профиля, и «фактическим» изображением, если у него есть.
Значения неразличимы в base64 и еще более неразличимы перед их кодированием.
def requestImage(d_url)
username = JIRA_USER_CONFIG[:username]
password = JIRA_USER_CONFIG[:password]
query = CGI::parse(URI::parse(d_url).query)
url = query['d'][0]
url = URI.unescape(url)
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
if uri.scheme == 'https'
http.use_ssl =
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
end
request = Net::HTTP::Get.new(uri.request_uri)
if !username.nil? && !username.empty?
request.basic_auth(username, password)
end
response = http.request(request).body
"data:image/png;base64, "+Base64.encode64(response)
конец