]> git.street.me.uk Git - andy/dehydrated.git/commitdiff
trying to capture http status codes from curl instead of using "--fail" to be able...
authorLukas Schauer <lukas@schauer.so>
Sun, 6 Dec 2015 15:35:28 +0000 (16:35 +0100)
committerLukas Schauer <lukas@schauer.so>
Sun, 6 Dec 2015 15:35:46 +0000 (16:35 +0100)
letsencrypt.sh

index ca5a6b19df87257a5b936148afd73bd5c09d53b9..26d0b3343f20718050408f61b2fbb005f6794553 100755 (executable)
@@ -51,22 +51,27 @@ hex2bin() {
 }
 
 _request() {
 }
 
 _request() {
-  temperr="$(mktemp)"
+  tempcont="$(mktemp)"
+
   if [[ "${1}" = "head" ]]; then
   if [[ "${1}" = "head" ]]; then
-    curl -sSf -I "${2}" 2> "${temperr}"
+    statuscode="$(curl -s -w "%{http_code}" -o "${tempcont}" "${2}" -I)"
   elif [[ "${1}" = "get" ]]; then
   elif [[ "${1}" = "get" ]]; then
-    curl -sSf "${2}" 2> "${temperr}"
+    statuscode="$(curl -s -w "%{http_code}" -o "${tempcont}" "${2}")"
   elif [[ "${1}" = "post" ]]; then
   elif [[ "${1}" = "post" ]]; then
-    curl -sSf "${2}" -d "${3}" 2> "${temperr}"
+    statuscode="$(curl -s -w "%{http_code}" -o "${tempcont}" "${2}" -d "${3}")"
   fi
 
   fi
 
-  if [[ -s "${temperr}" ]]; then
-    echo "  + ERROR: An error occured while sending ${1}-request to ${2} ($(<"${temperr}"))" >&2
-    rm -f "${temperr}"
+  if [[ ! "${statuscode:0:1}" = "2" ]]; then
+    echo "  + ERROR: An error occured while sending ${1}-request to ${2} (Status ${statuscode})" >&2
+    echo >&2
+    echo "Details:" >&2
+    echo "$(<"${tempcont}"))" >&2
+    rm -f "${tempcont}"
     exit 1
   fi
 
     exit 1
   fi
 
-  rm -f "${temperr}"
+  cat  "${tempcont}"
+  rm -f "${tempcont}"
 }
 
 signed_request() {
 }
 
 signed_request() {