|
|
2ef2dabf93
|
internal/aggergate: make HLL state path configurable
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8ff8ef25ad945aae918bea97ee39d7ea6a6a6964
|
2026-03-02 22:38:19 +03:00 |
|
|
|
bf8390a916
|
chore: format with golines
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I11a2f3273abf08c8cf02e0c335e26d826a6a6964
|
2026-03-02 22:38:14 +03:00 |
|
|
|
18fe1a8234
|
internal/api: better multi-sites support; validate events against allowed domains
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iff1ced4966b4d42cfd6dfefb0cfd97696a6a6964
|
2026-03-02 22:38:11 +03:00 |
|
|
|
b2256183e1
|
config: add security and performance sections to sample config; validate
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ieda42bcbd09014c45fb14bee579f829c6a6a6964
|
2026-03-02 22:38:01 +03:00 |
|
|
|
be4534bac8
|
internal: add referrer classification
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ibcaa09bfd4767876ea1cdd5b61c53b476a6a6964
|
2026-03-02 22:37:51 +03:00 |
|
|
|
0691e5ee34
|
internal: implement path normalization w/ configurable rules
Strips query strings and URL fragmenets, prevents unbounded Prometheus
metrics by normalizing paths like:
- `/users/12345/profile -> /users/:id/profile`
- `/page?utm_source=twitter -> /page`
- `/a/../b -> /b`
etc.
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I72f2fa2452f4666567143d052b5716476a6a6964
|
2026-03-02 22:37:50 +03:00 |
|
|
|
4c84393286
|
config: data structures; basic tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia7d6f19a46ec8a4987ea429ec6502f676a6a6964
|
2026-03-02 22:37:47 +03:00 |
|