Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    tvpublic

    tv Logo

    TV is an interactive debug console plugin for hapi

    Build Status

    Lead Maintainer: Oscar A. Funes Martinez

    TV is a simple web page in which developers can view server logs for their requests. Optionally, they can also filter the server logs to just their requests by attaching a unique client id to each request. The server will use WebSocket to stream the logs to the web application in real-time.

    Here's what it looks like in action:

    TV interactive debug console

    Using TV in Your Application

    To enable TV in a hapi application, install tv and register it. Below is an example of registering the tv plugin:

    const Hapi = require('hapi');
    const Tv = require('tv');
     
    const server = new Hapi.Server();
     
    server.register(Tv, (err) => {
     
        if (err) {
            throw err;
        }
        server.start();
    });

    In applications using multiple server instances, only one server can enable the debug interface using the default port.

    Options

    Below are the options available to be passed into the tv plugin:

    • host - the public hostname or IP address. Used only to set server.info.host and server.info.uri. Deaults to hostname and if not available to localhost(see hapi new Server()).
    • address - the hostname of IP address the WebSocket connection will bind to. Defaults to host if present otherwise 0.0.0.0(see hapi new Server()).
    • port - the port used by the WebSocket connection. Defaults to 0 and therefore an ephemeral port (see hapi new Server()).
    • endpoint - the debug console request path added to the server routes. Defaults to '/debug/console'.
    • queryKey - the name or the request query parameter used to mark requests being debugged. Defaults to debug.
    • template - the name of the template to use for the debug console. Defaults to index.
    • authenticateEndpoint - set this to true to use auth schemes for TVs main- and file delivering routes (defaults to false)

    Below is an example of registering the tv plugin with some options:

    const Hapi = require('hapi');
    const Tv = require('tv');
    const options = { endpoint: '/awesome' };
     
    const server = new Hapi.Server();
     
    server.register({ register: Tv, options: options }, function (err) {
        ...
    });

    install

    npm i tv

    Downloadsweekly downloads

    885

    version

    6.1.0

    license

    BSD-3-Clause

    repository

    githubgithub

    last publish

    collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar