https://github.com/jwerle/rfc
IETF RFC reader tool
https://github.com/jwerle/rfc
Last synced: about 1 year ago
JSON representation
IETF RFC reader tool
- Host: GitHub
- URL: https://github.com/jwerle/rfc
- Owner: jwerle
- Created: 2013-12-30T22:44:42.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2022-01-17T16:09:05.000Z (over 4 years ago)
- Last Synced: 2025-01-07T15:14:06.019Z (over 1 year ago)
- Language: JavaScript
- Size: 28.3 KB
- Stars: 17
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
rfc(1)
=====
[IETF](http://www.ietf.org) [RFC](http://www.ietf.org/rfc) reader tool
## install
with **npm**
```sh
$ npm install rfc -g
```
with **git**
```sh
$ npm install github:jwerle/rfc -g
```
## usage
**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
...
```
### module
```js
var rfc = require('rfc')
var count = 0;
rfc.search('idna')
.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);
});
```
## api
### RFC\_BASE\_URL
IETF RFC Base URL
### RFC\_INDEX\_URL
IETF RFC Index file URL
### RFC\_CACHE
Default RFC cache
### RFC\_CACHE\_INDEX
Default RFC Index cache file name
### sync()
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.
```js
rfc.sync()
.on('data', function (chunk) {
console.log(chunk)
});
```
### search(query)
Searches RFC Index based on a query
```js
rfc.search('idna')
.on('result', function (result) {
console.log("%d (%s) %s",
result.rfc,
result.path,
result.desc);
});
```
## debug
`DEBUG` tags: `rfc:search`, `rfc:match`, `rfc:sync`
See [visionmedia/debug](https://github.com/visionmedia/debug) for details on usage.
## license
MIT