leecade / leecade/node-debug

收集一些坑

Aperta
#1 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

http://deadhorse.me/maintainable-nodejs/#/14

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://deadhorse.me/maintainable-nodejs/#/18

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. 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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.