mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-22 14:16:00 +00:00
[nextcloud_] Use fewer requests to work out the protocol to use
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
This commit is contained in:
parent
195a733d5d
commit
a7d44887e4
1 changed files with 15 additions and 10 deletions
|
@ -74,23 +74,26 @@ print_json_data() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
test_https() {
|
fetch_url () {
|
||||||
[ -z "$DOMAIN" ] && exit 0
|
curl -s -f -m "${TIMEOUT}" "$@"
|
||||||
curl -s -f -m "${TIMEOUT}" -I "https://$DOMAIN" > /dev/null && echo true && exit 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
|
|
||||||
autoconf)
|
autoconf)
|
||||||
if [ -x /usr/bin/curl ]; then
|
if [ -x "$(command -v curl)" ]; then
|
||||||
if [ -x /usr/bin/jq ]; then
|
if [ -x "$(command -v jq)" ]; then
|
||||||
[ "$(test_https)" ] && DOMAIN="https://$DOMAIN" || DOMAIN="http://$DOMAIN"
|
(fetch_url -I -u "$USERNAME:$PASSWORD" -I "https://${DOMAIN}${API_PATH}" \
|
||||||
curl -s -f -m "${TIMEOUT}" -u "$USERNAME:$PASSWORD" -I "$DOMAIN$API_PATH" | grep -iq "Content-Type: application/json" && echo "yes" && exit 0 || echo "no (invalid or empty response from nextlcoud serverinfo api)" && exit 0
|
| grep -iq "Content-Type: application/json" \
|
||||||
|
|| fetch_url -I -u "$USERNAME:$PASSWORD" -I "http://${DOMAIN}${API_PATH}" \
|
||||||
|
| grep -iq "Content-Type: application/json") \
|
||||||
|
&& echo "yes" && exit 0 \
|
||||||
|
|| echo "no (invalid or empty response from nextlcoud serverinfo api)" && exit 0
|
||||||
else
|
else
|
||||||
echo "no (jq not found)" && exit 0
|
echo "no (jq not found)" && exit 0
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "no (/usr/bin/curl not found)" && exit 0
|
echo "no (curl not found)" && exit 0
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -210,8 +213,10 @@ EOM
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Get JSON data
|
# Get JSON data
|
||||||
[ "$(test_https)" ] && DOMAIN="https://$DOMAIN" || DOMAIN="http://$DOMAIN"
|
JSONSTATS=$(
|
||||||
JSONSTATS=$(curl -s -f -m "${TIMEOUT}" -u "$USERNAME:$PASSWORD" "$DOMAIN$API_PATH" | sed 's/\\/\\\\/g' | jq -cr ".ocs.data")
|
fetch_url -u "$USERNAME:$PASSWORD" "https://${DOMAIN}${API_PATH}" | sed 's/\\/\\\\/g' | jq -cr ".ocs.data" 2>&1 \
|
||||||
|
|| fetch_url -u "$USERNAME:$PASSWORD" "http://${DOMAIN}${API_PATH}" | sed 's/\\/\\\\/g' | jq -cr ".ocs.data"
|
||||||
|
)
|
||||||
USERS=$(echo "$JSONSTATS" | jq -cr ".activeUsers")
|
USERS=$(echo "$JSONSTATS" | jq -cr ".activeUsers")
|
||||||
STORAGE=$(echo "$JSONSTATS" | jq -cr ".nextcloud.storage")
|
STORAGE=$(echo "$JSONSTATS" | jq -cr ".nextcloud.storage")
|
||||||
SHARES=$(echo "$JSONSTATS" | jq -cr ".nextcloud.shares")
|
SHARES=$(echo "$JSONSTATS" | jq -cr ".nextcloud.shares")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue