[FIX] GET /info to check if it's a valid server instead of x-instance-id (#573)

This commit is contained in:
Diego Mello 2018-12-18 13:11:47 -02:00 committed by GitHub
parent 73feb4f067
commit 5ee1f557d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 9 deletions

View File

@ -1,6 +1,5 @@
import { AsyncStorage, Platform } from 'react-native';
import foreach from 'lodash/forEach';
import RNFetchBlob from 'rn-fetch-blob';
import * as SDK from '@rocket.chat/sdk';
import reduxStore from './createStore';
@ -78,15 +77,11 @@ const RocketChat = {
console.warn(`AsyncStorage error: ${ error.message }`);
}
},
_hasInstanceId(headers) {
return !!headers[Object.keys(headers).find(item => item.toLowerCase() === 'x-instance-id')];
},
async testServer(url) {
async testServer(server) {
try {
let response = await RNFetchBlob.fetch('HEAD', url);
response = response.respInfo;
if (response.status === 200 && RocketChat._hasInstanceId(response.headers)) {
return url;
const result = await fetch(`${ server }/api/v1/info`).then(response => response.json());
if (result.success && result.info) {
return server;
}
} catch (e) {
log('testServer', e);