Преобразовать запрос cURL в http_request в рецепте шеф-повара - PullRequest
0 голосов
/ 29 мая 2018

Может кто-нибудь помочь, как я могу преобразовать следующий cURL запрос в http_request.

curl -X POST -u admin:admin -F backup=@'/tmp/backup2.xml' -v #{sonarqube_rest_uri}/qualityprofiles/restore 

У меня есть файл backup2.xml в папке / tmp моего Vagrant box.Я могу отправить запрос, написав bash-скрипт, но я бы хотел более аккуратный подход с ресурсом http_request.

1 Ответ

0 голосов
/ 29 мая 2018

Вы можете попробовать это:

http_request 'Post backup xml' do
  headers ({
    'Content-Type' => 'multipart/form-data',
    'AUTHORIZATION' => "Basic #{Base64.encode64('admin:admin')}"
  })
  action :post
  url "#{sonarqube_rest_uri}/qualityprofiles/restore"
  message ::File.read("/tmp/backup2.xml")
end

Флаг -F указывает, что вам нужен заголовок multipart/form-data.Вам также понадобится заголовок авторизации для -u admin:admin, который имеет хороший документ от Chef .Действие и URL довольно просты.Наконец, прочитайте содержимое вашего файла как сообщение с ::File.read.

Однако аналогичный вопрос относительно типа контента multipart/form-data предполагает, что этот тип контента может не работать для http_request.Однако, надеюсь, это поможет вам понять, как превратить запрос curl в http_request

...