resty icon indicating copy to clipboard operation
resty copied to clipboard

Strict mode bash

Open ghost opened this issue 9 years ago • 3 comments

Hi.

I was hoping to use resty in a REST API test suite written in bash, but I'm finding it's not set up to be run with set -u (nounset) (at least).

Steps to repeat:

#!/bin/bash

set -o errtrace
set -o functrace
set -o pipefail
set -o nounset
source "${RESTY}" -W "${API_BASE_URI}"

GET /

If I put the set -o nounset before the source, then the resty command at the end of the source file fails (e.g. resty http://localhost). If I put the set -o nounset after source but before the GET line, I get:

+ resty GET /
+ local confdir datadir host cookies method h2t editor domain _path opt dat res ret out err verbose raw i j d tmpf args2 wantdata vimedit quote query maybe_query dry
+ local -a curlopt
+ local -a curlopt2
/home/vagrant/repos/resty/resty: line 21: XDG_CONFIG_HOME: unbound variable

Thoughts?

ghost avatar Jul 06 '16 15:07 ghost

Hey @josdotso, sorry for the late answer

the failure is normal. The resty command loock if XDG_CONFIG_HOME is set to something. Since it's not, the set -u will cause failure you are having.

AdrieanKhisbe avatar Apr 05 '17 11:04 AdrieanKhisbe

@josdotso Anything else? Shall i close the issue?

AdrieanKhisbe avatar Nov 07 '17 08:11 AdrieanKhisbe

Since resty is expected to be run sourced, it would be nice if it could run in a “strict mode”. You can use ${XDG_CONFIG_HOME:-} syntax to make it work.

jtojnar avatar Jan 05 '18 13:01 jtojnar