Purpose
go-xlsform is a private, stateless accelerator for large XLSX choice sheets. It does not query PostgreSQL and does not write application data.
Request flow
- Laravel receives and validates the XLSForm upload.
- For a large worksheet, Laravel sends the file to
go-xlsformover the private compose network with an internal token. - The service reads the XLSX ZIP/shared strings/worksheet in a single pass.
- It returns NDJSON
rowandprogressframes. - Laravel consumes those frames and continues its normal validation/schema persistence path.
Resource protection
The service enforces upload size, expanded archive size, single-entry size, archive-entry count, compression ratio, row count, column count and concurrency limits. These checks protect the platform from decompression bombs and unexpectedly large workbooks.
Fallbacks
If the service is disabled or unhealthy, Laravel falls back to its local single-pass XLSX reader and finally to the PhpSpreadsheet compatibility path.