Superagent è un client HTTP leggero e progressivo per il browser e Node.js.
Esecuzione delle richieste
Richiesta GET
const superagent = require('superagent')
superagent
.get('/api/users')
.query({ role: 'admin', page: 2 })
.set('Accept', 'application/json')
.end((err, res) => {
if (err) return console.error(err)
console.log(res.status)
console.log(res.body)
})
Stile Promise e Async/Await
try {
const res = await superagent
.post('/api/users')
.send({ name: 'John Doe', email: '[email protected]' })
.set('Authorization', 'Bearer token123')
console.log(res.body)
} catch (err) {
console.error(err.response ? err.response.body : err.message)
}
Richieste POST e payload JSON
superagent
.post('/api/items')
.send({ item: 'Widget', qty: 10 })
.set('X-API-Key', 'secret')
.then(res => console.log(res.body))
Form multipart e caricamento file
superagent
.post('/upload')
.field('title', 'Profile Picture')
.attach('avatar', 'path/to/avatar.png')
.then(res => console.log('Uploaded!'))
Proprietà dell oggetto risposta
| Proprietà | Tipo | Descrizione |
|---|---|---|
res.body |
Object |
Corpo della risposta elaborato (JSON / Form) |
res.text |
String |
Testo grezzo della risposta non analizzato |
res.status |
Number |
Codice di stato HTTP (es. 200, 404) |
res.header |
Object |
Mappa degli header di risposta |
res.ok |
Boolean |
Vero se lo stato è 2xx |
res.clientError |
Boolean |
Vero se lo stato è 4xx |
res.serverError |
Boolean |
Vero se lo stato è 5xx |
res.type |
String |
Content-Type senza parametri |