summaryrefslogtreecommitdiff
path: root/phttp
blob: eb6973293b81d4158c041f2546ec74c00dc0b26e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
PHTTP_CACHE=${PHTTP_CACHE:-/dev/shm/phttp}
mkdir -p $PHTTP_CACHE/mimes $PHTTP_CACHE/files || exit 1

make_sum() {
	echo "$@" | sha512sum | head -c72
	echo
}

get_with_arguments() {
	local BASENAME
	BASENAME=$(make_sum $@)
	[ -e $PHTTP_CACHE/files/$BASENAME ] && {
		echo "$(cat $PHTTP_CACHE/mimes/$BASENAME) $PHTTP_CACHE/files/$BASENAME"
		return
	}
	local TYPE
	TYPE=$(curl -sL -w "%{content_type}\n" $@ -o "$PHTTP_CACHE/files/$BASENAME") && {
		echo "$TYPE $PHTTP_CACHE/files/$BASENAME"
		echo "$TYPE" > $PHTTP_CACHE/mimes/$BASENAME
		return
	}
	return 1
}

get_with_arguments $@