Превращение запроса CURL в формат Node js с запросом-обещанием - PullRequest
1 голос
/ 23 сентября 2019

Я пытался преобразовать рабочий запрос POST CURL в формат Node JS, который я могу автоматизировать.Я достигаю стены с преобразованием ее и надеюсь, что кто-то может помочь.

Вот завиток:

curl -POST https://api-xxxxxxxx/add 
-H "Authorization: Bearer xxxxxxx"
-H "Content-Type: multipart/mixed" 
-F 'metadata={ "domain_id": 11661, "container_id": 18569512, "name": "TestFile", "size": "1072902", "originalfilename" : "xxx-d6", "mime": "x-html-package",
"attributes":"main_html_file_path=index.html\nduration=10000" }; type=application/json' -F "file=@xxx-d6.x-html-package"

Я использую модуль запроса-обещания, чтобы сделать этот запрос, но я могу ошибаться


let step1Options = {
    method: 'POST',
    uri: 'https://api-xxx/add',
    form: {
        metadata: {
            domain_id: domainID, 
            container_id: 1856951, 
            name: "TestFileNodeJS", 
            size: "1072902", 
            originalfilename : "xxx-d6", 
            mime: "x-html-package",
            attributes:"main_html_file_path=index.html\nduration=10000"
        },
        file: fs.createReadStream("xxx.x-html-package") 
    },
    headers: {
        "content-type": "multipart/mixed",
        Authorization: "Bearer  " + authID
    }
};

rp(step1Options)
    .then(function (body) {
        console.log("success")
        console.log(body)
    })
    .catch(function (err) {
        console.log("Error: ", err)
        // POST failed...
    });

Ошибка, которую я получаю:

  body:
      '{"error":"Unexpected Content-Type header: application/x-www-form-urlencoded. Expecting: multipart/mixed; boundary=<boundary>.","status":"error"}' } }

Насколько я знаю, я изменяю Content-Type, но все еще думаю, что я не.Читая немного документации Request-Promise, я не верю, что multipart / mixed поддерживается?Хотя я могу ошибаться.

У кого-нибудь есть идеи о том, как я могу получить эту работу, или предложить альтернативы?

...