Coder Social home page Coder Social logo

nel-reporter-java's Introduction

Network Error Logging reporter

This library implements a reporter for the Reporting and Network Error Logging (NEL) specifications. These specs allow site owners to instruct browsers and other user agents to collect and report on reliability information about the site. This gives you the same information as you'd get from your server logs, but collected from your clients. This client-side data set will include information about failed requests that never made it to your serving infrastructure.

This library provides a full working implementation of the specs, with one glaring omission: we don't handle any of the actual communication of sending and receiving HTTP requests. This lets you plug this library into any HTTP request library; we take of parsing and managing the reporting instructions for each origin, caching reports, and deciding which collector to send each report to. You provide an implementation of the ReportDeliverer interface to handle the actual HTTP communication using the library that you're integrating with.

nel-reporter-java's People

Contributors

dcreager avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nel-reporter-java's Issues

Hook interface for receiving headers and delivering reports

The readme mentions a ReportDeliverer interface, which is how you'd embed this library in an actual HTTP client library. You'd have a specific implementation of that interface for the HTTP library, which would handle the actual HTTP communication. When it makes any HTTPS request, it would extract out the Report-To and NEL headers from the response and hand them over to us. And it would hand over information about whether the request succeeded or failed, which we would turn into Reports and cache. And lastly, it would allow us to trigger report uploads, either on demand (i.e., under the control of the embedder), or in a background thread.

Set up Travis for CI

We should add Travis hooks to automatically run the test suite, and require passing tests before PRs can be merged.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.