-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor pipe script and improve debug mode #201
Conversation
can you please show examples of what the output is? |
(and good morning, thanks a lot for that contribution :p i forgot to be polite!) |
bump |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thanks for your contribution! probably we should remove password from debug output though
Thank you for approval. |
b) opts="-F bindings='`generate_json "$2"`' $opts"; shift ;; | ||
v) verbose="--verbose"; shift ;; | ||
d) opts="--form dryRun=true $opts";; | ||
b) opts="--form bindings='$(generate_json "$2")' $opts"; shift ;; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lukdz I observe that the bindings to the content script are failing with the latest pull.
For example:
./pipe test.txt -n 1000 -b modifiedDate=2023-08-30T10:20:20.206Z
The script generates curl command like this for the binding and the script at AEM is failing with binding parameter not availalble:
-form ‘bindings=‘\’‘{“modifiedDate”:“2023-08-30T10:20:20.206Z”}‘\’’'
cc: @npeltier
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested example providede:
$ ./pipe test.txt -n 1000 -b modifiedDate=2023-08-30T10:20:20.206Z
+ curl --user admin:admin --show-error --silent --fail --form pipe_cmd=test.txt --form 'bindings='\''{"modifiedDate":"2023-08-30T10:20:20.206Z"}'\''' --form size=1000 http://localhost:4502/apps/dx/scripts/exec.json
Reverting:
- b) opts="--form bindings='$(generate_json "$2")' $opts"; shift ;;
+ b) opts="-F bindings='`generate_json "$2"`' $opts"; shift ;;
Doesn't change the result:
$ ./pipe test.txt -n 1000 -b modifiedDate=2023-08-30T10:20:20.206Z
+ curl --user admin:admin --show-error --silent --fail --form pipe_cmd=test.txt -F 'bindings='\''{"modifiedDate":"2023-08-30T10:20:20.206Z"}'\''' --form size=1000 http://localhost:4502/apps/dx/scripts/exec.json
But adding back eval:
- curl \
+ eval curl \
Does change the result:
$ ./pipe test.txt -n 1000 -b modifiedDate=2023-08-30T10:20:20.206Z
+ eval curl --user admin:admin --show-error --silent --fail --form pipe_cmd=test.txt -F 'bindings='\''{"modifiedDate":"2023-08-30T10:20:20.206Z"}'\''' --form size=1000 http://localhost:4502/apps/dx/scripts/exec.json
++ curl --user admin:admin --show-error --silent --fail --form pipe_cmd=test.txt -F 'bindings={"modifiedDate":"2023-08-30T10:20:20.206Z"}' --form size=1000 http://localhost:4502/apps/dx/scripts/exec.json
Looks like eval
is removing '\''
.
The proper fix seems to be removal of single quotes:
- b) opts="--form bindings='$(generate_json "$2")' $opts"; shift ;;
+ b) opts="--form bindings=$(generate_json "$2") $opts"; shift ;;
Which results in (without adding back eval
):
$ ./pipe test.txt -n 1000 -b modifiedDate=2023-08-30T10:20:20.206Z
+ curl --user admin:admin --show-error --silent --fail --form pipe_cmd=test.txt --form 'bindings={"modifiedDate":"2023-08-30T10:20:20.206Z"}' --form size=1000 http://localhost:4502/apps/dx/scripts/exec.json
This fix would require validation from @praveenrv
afterwards, it can be merged: #202
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lukdz thanks for the details and fix. I see it working after removing the single quotes.
opts="--form bindings=$(generate_json "$2") $opts"; shift ;;
test:
./pipe test.txt -n 1000 -b modifiedDate=2023-08-30T10:20:20.206Z
+ curl --user admin:admin --show-error --silent --fail --form pipe_cmdfile=@test.txt --form 'bindings={"modifiedDate":"2023-08-30T10:20:20.206Z"}' --form size=1000 http://localhost:4502/apps/dx/scripts/exec.json
cc: @npeltier
Description
set -x
, which does show how command arguments are split;echo
outputs values without quotes, which makes it difficult to debug arguments split by incorrectly escaped whitespacesRelated Issue
Motivation and Context
How Has This Been Tested?
Screenshots (if appropriate):
Types of changes
Checklist: