lander/landerctl

53 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env sh
API_KEY=test
URL=http://localhost:18080
if [[ "$2" != '-' ]]; then
filename="$2"
content_type="$(file --mime-type --brief $2)"
fi
if [ "$1" = g ]; then
curl -is "$URL/$2" |
sed -En 's/^[lL]ocation: (.*)/\1/p'
elif [ "$1" = s ] || [ "$1" = sl ]; then
curl \
--fail \
-w "${URL}%header{location}" \
-XPOST \
-d "$2" \
-H "X-Api-Key: $API_KEY" \
"$URL/$1/$3"
elif [ "$1" = p ] || [ "$1" = pl ]; then
curl \
--fail \
-w "${URL}%header{location}" \
-XPOST \
-H "X-Api-Key: $API_KEY" \
-H "X-Lander-Filename: ${filename}" \
--data-binary @"$2" \
"$URL/$1/$3"
elif [ "$1" = f ] || [ "$1" = fl ]; then
curl \
--fail \
-w "${URL}%header{location}" \
-XPOST \
-H "X-Api-Key: $API_KEY" \
-H "X-Lander-Content-Type: ${content_type}" \
-H "X-Lander-Filename: ${filename}" \
--data-binary @"$2" \
"$URL/$1/$3"
elif [ "$1" = d ]; then
curl \
--fail \
-XDELETE \
-H "X-Api-Key: $API_KEY" \
"$URL/$2"
fi