lib/curl.sh

448 B · 25 lines · bash

1#!/usr/bin/env bash
2
3brt_curl() {
4 local url="${1:-}"
5 if [[ -z "$url" ]]; then
6 brt_error "Usage: brt -curl <url> [curl flags...]"
7 exit 1
8 fi
9 shift
10 brt_require curl
11
12 local tmp stats
13 tmp=$(mktemp)
14 stats=$(mktemp)
15
16 curl -sS -w "http_code:%{http_code}\nsize:%{size_download}\ntime:%{time_total}\n" \
17 -o "$tmp" "$@" "$url" > "$stats"
18
19 cat "$tmp"
20 echo
21 brt_info "Response stats:"
22 cat "$stats"
23 rm -f "$tmp" "$stats"
24}
25