rfc

IETF RFC reader tool

rfc(1)

IETF RFC reader tool

with npm

$ npm install rfc -g

with git

$ git clone git@github.com:jwerle/rfc.git
cd rfc/
$ make
$ make install

search

$ rfc search punycode
  ... searching
 
  3492   Punycode: A Bootstring encoding of Unicode for Internationalized
         Domain Names in Applications (IDNA). A. Costello. March 2003.
         (Format: TXT=67439 bytes) (Updated by RFC5891) (Status: PROPOSED
         STANDARD)
 
  1 result

view

$ rfc open 3492
 
Network Working Group                                        A. Costello
Request for Comments: 3492                 Univ. of California, Berkeley
Category: Standards Track                                     March 2003
 
 
              Punycode: A Bootstring encoding of Unicode
       for Internationalized Domain Names in Applications (IDNA)
 
Status of this Memo
 
   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.
 
Copyright Notice
 
   Copyright (C) The Internet Society (2003).  All Rights Reserved.
 
Abstract
 
   Punycode is a simple and efficient transfer encoding syntax designed
   for use with Internationalized Domain Names in Applications (IDNA).
   It uni
 
...
var rfc = require('rfc')
 
var count = 0;
rfc.search('punycode')
.on('error', function (err) {
  // handle error 
})
.on('result', function (result) 
  count++;
  console.log("  %d %s", result.rfc, result.desc);
})
.on('end', function () {
  console.log("  got %d result(s)", count);
});

IETF RFC Base URL

IETF RFC Index file URL

Default RFC cache

Default RFC Index cache file name

Sync RFC Index file to a local file (RFC_CACHE_INDEX) in a directory defined by the environment variable RFC_CACHE.

sync() returns a stream that is readable.

rfc.sync()
.on('data', function (chunk) {
  console.log(chunk)
});

Searches RFC Index based on a query

rfc.search('idna')
.on('result', function (result) {
  console.log("%d (%s) %s",
    result.rfc,
    result.path,
    result.desc);
});

MIT