Есть ли такой же метод в Swift для чтения InpuStream, используя HTTP-запрос - PullRequest
0 голосов
/ 14 февраля 2020

Существует ли такой же метод в swift для чтения потока ввода из HTTP-запроса

InputStream in = address.openStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder result = new StringBuilder();
String line;
while((line = reader.readLine()) != null) {
    result.append(line);
}
System.out.println(result.toString());

Этот локальный сервер отправляет два ответа с 207:

var http = require('http');
var express = require('express')();

var port = process.env.PORT || 3000;
var promise = new Promise(function(resolve, reject) { 
  const x = "geeksforgeeks"; 
  const y = "geeksforgeeks"
  if(x === y) { 
    console.log('resolve');
    resolve(); 
  } else { 
    reject(); 
  } 
}); 

express.post('/', function(req, res) {
  console.log('send req1')
  // check if network exists and user requesting is owner of it
  return promise.then(() => {
    // add listener to receive response from gateway and forward it
    //_addGwEmitter.addGwEmitter.addEventListener(req, res, gatewayPsn);
    // send the gateway trigger instructions to coco user
    res.status(207).write(JSON.stringify({
      status: 200,
      msg: "Waiting for authorization\n",
      instructionText: "devProductInfo.instructionText",
      instructionImage: "devProductInfo.instructionImageURL"
    }) + "\n \r End" );
    // if no event is received from gateway trigger timeout after 60 seconds
                      res.setTimeout(6000,()=>{
    console.log('send req 2');
                                     res.status(207).write(JSON.stringify({
                                       status: 200,
                                       msg: "authorization done \n",
                                       instructionText: "devProductInfo.instructionText",
                                       instructionImage: "devProductInfo.instructionImageURL"
                                     }));
                                     res.end();
                                     });
  }).catch(error => {
    return res.status(400).send("error.getErrorInfo()");
  });


});

http.createServer(express).listen(port);

i Я хочу прочитать два ответа один за другим. Я попытался загрузить задачу загрузки Задача данных

в HTTP URLSession.

1 Ответ

0 голосов
/ 22 февраля 2020

Я получил ответ, если вы хотите использовать ответ 207 на устройствах iOS, а затем реализовать задачу URL-данных с делегатом, а в делегате данных вы получите данные ответа. убедитесь, что тип содержимого ответа - текст / json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...