React Native
React Native
Send a Staged Multipart REST Request
See more REST Examples
Demonstrates Rest.SendReqMultipart, which sends a multipart request using the parts configured on the object, then reads the response in separate steps.
Background. The staged request model separates sending from reading: a
SendReq method transmits the request, ReadResponseHeader reads the status line and headers, and a ReadResp method reads the body. This gives fine control over large or streamed messages compared with the single-call full-request methods.Chilkat React Native Downloads
import { Rest } from '@chilkat/react-native'
async function chilkatExample() {
const rest = new Rest();
const bTls = true;
const bAutoReconnect = true;
try {
await rest.connectAsync('example.com', 443, bTls, bAutoReconnect);
} catch {
console.log(rest.lastErrorText);
return;
}
// Configure one multipart part before sending.
rest.partSelector = '1';
rest.addHeader('Content-Type', 'text/plain');
rest.addHeader('Content-Disposition', 'form-data; name="field1"');
try {
rest.setMultipartBodyString('value1');
} catch {
console.log(rest.lastErrorText);
return;
}
// Send the multipart request using the configured parts.
try {
await rest.sendReqMultipartAsync('POST', '/api/upload');
} catch {
console.log(rest.lastErrorText);
return;
}
// After sending, read the response status line and header fields. The return value is the HTTP
// status code, or -1 if no response was received.
const statusCode = await rest.readResponseHeaderAsync();
if (statusCode < 0) {
console.log(rest.lastErrorText);
return;
}
console.log(`Response status code: ${statusCode}`);
// Read the response body as text.
let responseBody: string;
try {
responseBody = await rest.readRespBodyStringAsync();
} catch {
console.log(rest.lastErrorText);
return;
}
console.log(responseBody);
}