+ char buf[BUFSIZ];
+ // Fin del stream, no había cabeceras.
+ if (!is.getline(buf, BUFSIZ)) {
+ throw ios::failure("eof");
+ }
+ string sbuf = buf;
+ string::size_type pos = sbuf.find(":");
+ if (pos == string::npos) {
+ // FIXME poner mejores excepciones.
+ throw HTTPError(HTTPMessage::BAD_REQUEST, sbuf + ": No es una cabecera válida.");
+ }
+ h[sbuf.substr(0, pos)] = String(sbuf.substr(pos + 1)).trim();