React Native
React Native
Manually Follow HTTP Redirects
See more HTTP Examples
Demonstrates how to manually follow redirects for an HTTP GET.Chilkat React Native Downloads
import { Http, HttpResponse } from '@chilkat/react-native'
async function chilkatExample() {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
const http = new Http();
// The FollowRedirects property controls whether redirects
// are automatically followed. The default behavior is to
// automatically follow redirects.
// Explicitly set FollowRedirects so that redirects are NOT automatically taken:
http.followRedirects = false;
const resp = new HttpResponse();
try {
await http.httpNoBodyAsync('GET', 'http://yandex.ru/', resp);
} catch {
console.log(http.lastErrorText);
return;
}
let status = resp.statusCode;
console.log(`HTTP Response Status: ${status}`);
// The FinalRedirectUrl property will contain the redirect URL
// If FollowRedirects was equal to true, then all of the
// intermediate redirects (if any) would be followed until
// there were no more redirects. However, because
// FollowRedirects is not true, FinalRedirectUrl contains
// the next redirect URL.
let loopCount = 0;
while (status === 302) {
console.log(`Redirect URL: ${http.finalRedirectUrl}`);
const nextUrl = http.finalRedirectUrl;
try {
await http.httpNoBodyAsync('GET', nextUrl, resp);
} catch {
console.log(http.lastErrorText);
return;
}
status = resp.statusCode;
console.log(`HTTP Response Status: ${status}`);
// For safety, prevent infinite loops by
// keeping a loopCount and only allows following a max
// of 10 redirects:
loopCount++;
if (loopCount > 10) {
console.log('Too many redirects.');
return;
}
}
}