收集一些坑
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 0
- Forks
- 0
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
var http = require('http');
var url = require('url');
http.createServer(function (req, res) {
var query = url.parse(req.url, true).query;
var name = query.name || '';
res.send(name.trim());
}).listen(3000);
GET http://localhost:3000?name=foo&name=bar
throw error;
query.name = [foo, bar]; [].trim()
http.createServer(function (req, res) {
parseBody(req, function onBody(err, body) {
if (err) {
res.statusCode = 500;
return res.end(err.message);
}
var keys = Object.keys(body);
res.end(keys.join(','));
}
}).listen(3000);
function parseBody(req, callback) {
// 获取原始的请求 body
rawBody(req, function (err, content) {
if (err) return callback(err);
var body = {};
try {
body = JSON.parse(content);
} catch (err) {
return callback(err);
}
return callback(null, body);
});
}
POST 'null' Boom! (JSON.parse('null') => null)
POST '"hello"' Boom! (JSON.parse('"hello"') => 'hello')
co-body
function parseBody(req, callback) {
rawBody(req, function (err, content) {
if (err) return callback(err);
var body = {};
try {
body = JSON.parse(content);
// 严格的只接受 object 作为 body
if (!body || typeof body !== 'object') {
throw new Error('request body must be object');
}
} catch (err) {
return callback(err);
}
return callback(null, body);
});
}
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Überprüfe zuerst die beiden verlinkten maintainable-nodejs-Abschnitte und die Inline-JavaScript-Beispiele. Lege den vorgesehenen Umfang und den Ort der gesammelten Notizen fest; als abgeschlossen gilt die Aufgabe, wenn ein abgestimmter Umfang und dokumentierte Hinweise für die gezeigten Query- und JSON-Body-Fälle vorliegen, da keine Repository-Datei oder kein Test genannt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, node.js
- Bereich
- backend, documentation
- Issue-Typ
- Dokumentation
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100