Не могу понять, как сделать аутентифицированный вызов httpRequest со строковым телом - PullRequest
0 голосов
/ 11 декабря 2018

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

У меня есть свой оригинальный код в swift:

NSURL *url = [NSURL URLWithString:"https://myserver.com/mypath/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];    
NSString *data = [NSString stringWithFormat:service_request, myDevice, myPath];
[request setHTTPBody:[data dataUsingEncoding:NSUTF8StringEncoding]];    
provisionDeviceConnection = [NSURLConnection connectionWithRequest:request delegate:self];
[provisionDeviceConnection start];

И до сих пор есть это в моей облачной функции:

Parse.Cloud.define("getMyDevice", function(request, response){
    var service_request = "<request version=\"1.0\"><file_system cache=\"false\"><targets><device id=\"xxx\"/></targets><commands><get_file path=\"myfile.json\"/></commands></file_system></sci_request>";
    return Parse.Cloud.httpRequest({
        method: "POST", url: "https://MYSERVER.COM/MYPATH/", headers: { },
        body: service_request
      }).then(function(httpResponse) {
        response.success("Done Http Request!");
    }, function(httpResponse) {
        response.error('request failed with response code ' + httpResponse.status);
    });
});

Не уверен, как / где использовать имя пользователя и пароль

Я пробовал разные варианты, нополучить ошибку 400. Не уверен, следует ли использовать тело таким же образом или нет ...

Любая помощь будет принята с благодарностью!

...