view mod_http_stats_stream/README.markdown @ 5954:e5b5a74feb91

mod_rest: Workaround lack of number coercion in util.datamapper for HTTP upload util.datamapper will not coerce a string into an integer like the XEP-0363 'size' slot, which becomes a problem when using the HTTP GET method, passing fields as ?query parameters which are always strings.
author Kim Alvefur <zash@zash.se>
date Mon, 19 Aug 2024 20:08:41 +0200
parents bac3dae031ee
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)