#!/bin/sh
# CSV file name
FILENAME=$(ls stats-* | tail -n 1)
# chunk file name
CHUNK_FILENAME="current-log-provider-chunk.csv"
# number of log lines for chunk
N=100
# server port
PORT=4870
# CSV header
header=$(head -n 1 "$FILENAME")
while true; do
# We don't want repeated headers
if [ $(wc -l < "$FILENAME") -gt "$N" ]; then
{ echo "$header"; tail -n "$N" $FILENAME; } > "$CHUNK_FILENAME"
else
cp -f -- "$FILENAME" "$CHUNK_FILENAME"
fi
{ printf "HTTP/1.0 200 OK\r\nContent-Type: text/csv\r\nContent-Length: $(wc -c <"$CHUNK_FILENAME")\r\nAccess-Control-Allow-Origin: *\r\n\r\n"; cat "$CHUNK_FILENAME"; } | nc -q 0 -v -l -p "$PORT"
done