Skip to content

qertis/request-json-rpc2

Repository files navigation

REQUEST JSON RPC2

Simplified JSON-RPC 2.0 CJS and ESM client

Examples

Super simple to use request JSON-RPC 2 is designed to be the simplest way possible to make JSON-RPC 2 calls.

import requestJsonRpc2 from 'request-json-rpc2';

const result = await requestJsonRpc2({
  url: String,
  body: {
    method: String,
    params: Array | Object,
  },
});

Powerful sample

const result = await requestJsonRpc2({
  url: '/api',
  body: {
    id: '1234567890',
    method: 'record',
    params: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "$id": "https://example.com/employee.schema.json",
      "title": "Record of employee",
      "description": "This document records the details of an employee",
      "type": "object",
      "properties": {
        "id": {
          "description": "A unique identifier for an employee",
          "type": "number",
        },
      },
    },
  },
  headers: {
    'Accept': 'application/schema+json',
  },
});

HTTP Authentication

Includes basic or bearer.

const result = await requestJsonRpc2({
  url: '/api',
  body: {
    method: 'YOUR_METHOD',
    params: ['auth hello world'],
  }, 
  auth: {
    'user': 'username',
    'pass': 'password',
    'sendImmediately': false,
  },
});

JWT

JSON Web Token example.

const result = await requestJsonRpc2({
  url: '/api',
  body: {
    method: 'YOUR_METHOD',
    params: ['JWT hello world'],
  },
  headers: {
    'Authorization': 'Bearer ewogICJhbGciOiAiSFMyNTYiLAogICJ0eXAiOiAiSldUIgp9.ewogICJuYW1lIjogIlJlcXVlc3QgSlNPTi1SUEMgMi4wIgp9',
  },
});

Ed25519Signature2018

const result = await requestJsonRpc2({
  url: '/api',
  body: {
    method: 'YOUR_METHOD',
    params: ['signature hello world'],
  },
  signature: {
    "@context": ["https://w3id.org/security/v2"],
    "id": "did:example:123456789abcdefghi#keys-1",
    "type": "Ed25519VerificationKey2018",
    "controller": "did:example:123456789abcdefghi",
    "expires": "2023-01-08T16:02:20Z",
    "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV",
  },
});

Testing

See tests directory.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy