1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-06-02 16:03:07 -07:00
rc/sh/ea

51 lines
1.2 KiB
Plaintext
Raw Normal View History

2021-08-01 10:29:38 -07:00
#!/usr/bin/env sh
# remote file access (http file-sharing shenanigans)
2021-07-29 00:37:35 -07:00
# YES_ZSH
# YES_BASH
# YES_DASH
2021-09-23 06:48:05 -07:00
# YES_ASH
2021-08-01 10:29:38 -07:00
ea() { ### @- **TODO:** document.
local cmd="${1:?missing subcommand}"; shift
case "$cmd" in
head)
2021-10-01 04:13:49 -07:00
local trg="$EA_DOMAIN/$EA_DIR/${1:?missing target}"
2021-08-01 10:29:38 -07:00
curl -s -I "$trg"
return;;
get)
2021-10-01 04:13:49 -07:00
local trg="$EA_DOMAIN/$EA_DIR/${1:?missing target}"
2021-08-01 10:29:38 -07:00
curl -R "$trg" -o "${2:-$1}"
return;;
put)
local src="${1:?missing source}"
2021-10-01 04:13:49 -07:00
local dst="$EA_DOMAIN/$EA_AUTH/"
2021-08-01 10:29:38 -07:00
curl -g -n -T "$src" "$dst"
return;;
move)
2021-10-01 04:13:49 -07:00
local src="$EA_DOMAIN/$EA_AUTH/${1:?missing source}"
local dst="$EA_DOMAIN/$EA_DIR/${2:?missing destination}"
2021-08-01 10:29:38 -07:00
curl -n -X MOVE -H "Destination: $dst" "$src"
return;;
copy)
2021-10-01 04:13:49 -07:00
local src="$EA_DOMAIN/$EA_AUTH/${1:?missing source}"
local dst="$EA_DOMAIN/$EA_DIR/${2:?missing destination}"
2021-08-01 10:29:38 -07:00
curl -n -X COPY -H "Destination: $dst" "$src"
return;;
delete)
2021-10-01 04:13:49 -07:00
local trg="$EA_DOMAIN/$EA_AUTH/${1:?missing target}"
2021-08-01 10:29:38 -07:00
curl -f -n -X DELETE "$trg"
return;;
*)
printf 'unknown subcommand: %s\n' "$1" >&2
return 2;;
esac
}
[ -n "${preload+-}" ] || ea "$@"