check / check (push) Successful in 1m1s
POST /api/v1/reports stays unauthenticated but is bounded. Each client address, as the trusted-proxy logic resolves it, may send REPORTS_PER_MINUTE reports a minute (default 60), counted by go-chi/httprate over a sliding minute; past that it gets 429 with Retry-After. reportbuf refuses a report that would take the report files past DATA_DIR_MAX_BYTES (default 1 GiB) with ErrFull, answered with 507; the count starts from the files already in DATA_DIR, and reports not yet written count at their uncompressed size. CORS adds nothing unless CORS_ALLOWED_ORIGINS lists origins. A limit that is not a positive number stops the server from starting. Model: opus-5-5
8 lines
201 B
Go
8 lines
201 B
Go
package reportbuf
|
|
|
|
// Flush writes the buffered reports to a file now, as the periodic
|
|
// flush does, so tests need not wait a minute for it.
|
|
func (b *Buffer) Flush() error {
|
|
return b.flushLocked()
|
|
}
|