Have ideas to improve npm?Join in the discussion! »

    rfc6920-toolbox

    0.1.1 • Public • Published

    rfc6920-toolbox Build Status

    Encode/decode RFC6920 "named information" URI's.

    Install

    npm install rfc6920-toolbox

    API

    • digest(algorithm, data) = rfc6920DigestString
      Create a base64uri encoded digest of data, using algorithm

    • serialize(niData) = niUriString
      Create a ni-URI string from a niData object

    • deserialize(uri) = niDataObject
      Create a niData object from a ni-URI string

    Usage

    var rfc6920 = require("rfc6920-toolbox");
     
    var sourceCode = get_file_contents("https://code.jquery.com/jquery-1.10.2.min.js");
     
    var digest = rfc6920.digest("sha-256", sourceCode); 
    //=> "C6CB9UYIS9UJeqinPHWTHVqh_E1uhG5Twh-Y5qFQmYg"
     
    var niData = {
        algorithm: "sha-256",
        digest: digest,
        parameters: {
            "ct": "text/javascript"
        }
    }
     
    var niUri = rfc6920.encode(niData); 
    //=> "ni:///sha-256;C6CB9UYIS9UJeqinPHWTHVqh_E1uhG5Twh-Y5qFQmYg?ct=text/javascript"
     
    rfc6920.deserialize(niUri); 
    //=> niData

    Note: this module supports currying.

    var sha256Digest = rfc6920.digest("sha-256");
     
    sha256Digest(sourceCode); 
    //=> "C6CB9UYIS9UJeqinPHWTHVqh_E1uhG5Twh-Y5qFQmYg"

    "ni" data

    defaults = {
        algorithm: "sha-256",
        authority: "",
        digest: undefined, // Required
        parameters: {}
    }

    Key: type name = default

    • string algorithm = "sha-256" RFC6920 Digest Algorithm

      Digest Algorithm: The name of the digest algorithm, as specified in the IANA registry defined in Section 9.4.

    • string authority = ""
      RFC6920 Authority value

      Authority: The optional authority component may assist applications in accessing the object named by an ni-URI. There is no default value for the authority field. (See Section 3.2.2 of [RFC3986] for details.) While ni names with and without an authority differ syntactically from ni names with different authorities, all three refer to the same object if and only if the digest algorithm, length, and value are the same.

    • string digest = undefined
      RFC6920 Digest Value

      Digest Value: The digest value MUST be encoded using the base64url [RFC4648] encoding, with no "=" padding characters.

    • object parameters = {}
      Deserialized RFC6920 Query Parameters, in key: value format.

    Install

    npm i rfc6920-toolbox

    DownloadsWeekly Downloads

    6

    Version

    0.1.1

    License

    MIT

    Last publish

    Collaborators

    • avatar