收集一些坑
Nessuno ha ancora preso questa issue.
- Lingua principale
- JavaScript
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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);
});
}
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Esamina innanzitutto le due sezioni collegate di maintainable-nodejs e gli esempi JavaScript inline. Definisci l’ambito e la posizione previsti delle note raccolte; il lavoro sarà completato quando saranno disponibili un ambito concordato e indicazioni documentate per i casi mostrati di query e JSON-body, poiché non sono indicati né un file del repository né un test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, node.js
- Ambito
- backend, documentation
- Tipo di issue
- Documentazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100