31 lines
841 B
Bash
Executable File
31 lines
841 B
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "content-type: text/plain"
|
|
echo "Access-Control-Allow-Origin: *"
|
|
echo ""
|
|
|
|
IFS=\& read -a fields <<<"$QUERY_STRING"
|
|
|
|
if [ -z "${fields[0]}" ]
|
|
then
|
|
echo '{"status":"error","message":"Please supply url as a query parameter"}'
|
|
exit 0
|
|
fi
|
|
|
|
KEY=$(echo -n ${fields[0]} | cut -d/ -f3- | cut -d? -f1 | sed 's:/*$::' | sha1sum | head -c -4)
|
|
|
|
if [ -z "${fields[1]}" ]
|
|
then
|
|
echo -n '{"status":"ok", "url":"'${fields[0]}'", "dates":'
|
|
echo -n '["'$(ls "./data/$KEY" | sed ':a;N;$!ba;s/\n/","/g')'"]'
|
|
echo "}"
|
|
else
|
|
VIEWS=$(cat "./data/$KEY/${fields[1]}" | wc -l)
|
|
UNIQUE=$(sort -u "./data/$KEY/${fields[1]}" | wc -l)
|
|
|
|
echo -n '{"status":"ok", "url":"'${fields[0]}'", "date":"'${fields[1]}'", "views":'$VIEWS', "unique":'$UNIQUE', "sessions":'
|
|
echo -n '["'$(sed ':a;N;$!ba;s/\n/","/g' ./data/$KEY/${fields[1]})'"]'
|
|
echo "}"
|
|
fi
|
|
|