view mod_http_stats_stream/README.md @ 6411:b00638d74f46

mod_unified_push: Allow additional CORS headers for unified push (fixes #1985) - Request header "TTL" is mandated by the HTTP Push specification RFC 8030: https://datatracker.ietf.org/doc/html/rfc8030#section-5 - Firefox sends "Content-Encoding" with a HTTP form submission, so it is required when using the Unified Push testing tool at https://unifiedpush.org/test_wp.html (with the full URL being delivered by the UP-Example Android app) Adding both headers makes the Unified Push testing tool work from the browser. Resolves: https://issues.prosody.im/1985
author Christian Weiske <cweiske@cweiske.de>
date Sat, 21 Feb 2026 19:13:08 +0100
parents fe081789f7b5
children
line wrap: on
line source

---
depends:
- 'mod\_http'
provides:
- http
---

# Introduction

This module provides a streaming interface to [Prosodys internal statistics][doc:statistics] via
[Server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events).

## Example

```js
var evtSource = new EventSource("/stats_stream");

/*
 * An event with all current statistics in the form of a JSON object.
 * Normally sent only once, when first connected to the stream.
 */
evtSource.addEventListener("stats-full", function(e) {
	var initial_stats = JSON.parse(e.data);
	console.log(initial_stats);
}, false);

/*
 * An event containing only statistics that have changed since the last
 * 'stats-full' or 'stats-updated' event.
 */
evtSource.addEventListener("stats-updated", function(e) {
	var updated_stats = JSON.parse(e.data);
	console.log(updated_stats);
}, false);
```

# Compatibility

* Prosody \>= 0.11.0
* Trunk < [5f15ab7c6ae5](https://hg.prosody.im/trunk/rev/5f15ab7c6ae5)