summaryrefslogtreecommitdiff
path: root/tests/morphcache
blob: 1b355b03486bee5bfe46a64c08d5f3000310c8dd (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
27
28
29
30
31
#!/bin/bash

if [ "$#" -ne 4 ]; then
	echo usage: $0 CACHE_SERVER_IP REPO REF FILENAME
	exit 1
fi

rawurlencode() {
	local string="${1}"
	local strlen=${#string}
	local encoded=""

	for (( pos=0 ; pos<strlen ; pos++ )); do
		c=${string:$pos:1}
		case "$c" in
			[-_.~a-zA-Z0-9] ) o="${c}" ;;
			* )
				printf -v o '%%%02x' "'$c"
		esac
		encoded+="${o}"
	done
	
	echo "${encoded}"
}

CACHE_SERVER_IP=$1
REPO=$(rawurlencode "$2")
REF=$(rawurlencode "$3")
FILENAME=$(rawurlencode "$4")

exec wget -O /dev/null "http://${CACHE_SERVER_IP}:8080/1.0/files?repo=${REPO}&ref=${REF}&filename=${FILENAME}"