Network Error Logging (NEL) provides out-of-band reporting of network errors via the Reporting API (see
//net/reporting). Site operators can specify a NEL policy that defines the Reporting endpoint(s) on which they wish to receive reports about client-side errors encountered while connecting to the site. The draft spec can be found here.
This directory contains the core implementation of NEL.
Most of the action takes place in
NetworkErrorLoggingService, which handles receiving/processing
NEL: response headers and generating/queueing reports about network requests. The
NetworkErrorLoggingService is owned by the
Information about network requests comes directly from
HttpNetworkTransaction, which informs
NetworkErrorLoggingService of the details of the request such as the remote IP address and outcome (a
NetworkErrorLoggingService finds a NEL policy applicable to the request (previously set by a
NEL header), and if one exists, potentially queues a NEL report to be uploaded out-of-band to the policy's specified Reporting endpoint via the
Received NEL policies are persisted to disk by a
PersistentNelStore, whose main implementation is the