JavaScript
const apiHost = "https://testseite.de";
const apiSecret = "SECRET123";
function loginUser(username, password, callback)
{
if(!username || !password || typeof callback !== "function") return console.error(`loginUser was called with invalid parameters`); // Die angegeben Parameter sind falsch
http.get({
host: `${apiHost}`,
path: `/index.php?user-api&method=login&username=${username}&password=${password}&secret=${apiSecret}`, // Die Daten des Users werden in die URL geschrieben
headers: { 'User-Agent': 'Projekt Reallife Agent 1.0.0' }
}, (response) => {
let status = response.statusCode;
if(status !== 200) // Die Antwort war nicht 200, also ist irgendwas schief gelaufen
{
response.resume(); // Den Rest der Anfrage verarbeiten, damit kein Memory Overflow entsteht
callback(`Request failed. Server responded with status code ${status}`);
}
else
{
let data = "";
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
let parsed = JSON.parse(data);
callback(null, {
id: parsed.userID,
email: parsed.email,
groups: parsed.groups
});
});
}
});
}
Alles anzeigen
Der erste Parameter des Callbacks ist der Fehler, falls keiner vorhanden ist, ist dieser null. Der zweite Parameter sind die empfangenen Daten.
Du nutzt es also so: