Как настроить выборку для React Native Android с помощью gzip? - PullRequest
0 голосов
/ 27 августа 2018

Приложение My React Native прекрасно работало как на iOS, так и на Android, но в последнее время оно выдает ошибку Network request failed на Android, когда ответ длинный.

Я узнал, что если установить заголовок запроса на 'Accept-Encoding': 'gzip',, я смог записать ответ, но он содержит только заголовок и такие:

{  
   type:'default',
   status:200,
   ok:true,
   statusText:undefined,
   headers:{  
      map:{  
         date:'Mon, 27 Aug 2018 18:39:23 GMT',
         'content-type':'application/json',
         'content-length':'215',
         'content-encoding':'gzip',
         'cache-control':'no-cache'
      }
   },
   url:'http://test.essaybot.com/essay/list',
   _bodyInit:'',
   _bodyText:''
}

Вот как я настраиваю запрос на выборку:

const URLENCODED_HEADER = {
  'Accept': 'application/json',
  'Content-Type': 'application/x-www-form-urlencoded',
  'Accept-Encoding': 'gzip',
  'Content-Encoding': 'identity'
}

async function getEssayList() {
  try {
    let response = await fetch(SERVER_URL+'/essay/list', {
      headers: URLENCODED_HEADER,
      credentials: 'include',
    });
    let responseJson = await response;
    console.log("[getEssayList]=======>", responseJson)
  } catch(error) {
    console.error(error);
    throw error;
  }
}
...