63 lines
1.4 KiB
NSIS
63 lines
1.4 KiB
NSIS
; Any copyright is dedicated to the Public Domain.
|
|
; http://creativecommons.org/publicdomain/zero/1.0/
|
|
|
|
; Simple driver for HttpPostFile, passes command line args to HttpPostFile::Post and
|
|
; writes the result string to a file for automated checking.
|
|
; Always specifies Content-Type: application/json
|
|
;
|
|
; Usage: posttest /postfile=postfile.json /url=http://example.com /resultfile=result.txt
|
|
|
|
!include LogicLib.nsh
|
|
!include FileFunc.nsh
|
|
|
|
OutFile "postdriver.exe"
|
|
RequestExecutionLevel user
|
|
ShowInstDetails show
|
|
Unicode true
|
|
|
|
!addplugindir ..\..\..\Plugins
|
|
|
|
Var PostFileArg
|
|
Var UrlArg
|
|
Var ResultFileArg
|
|
Var ResultString
|
|
|
|
Section
|
|
|
|
StrCpy $ResultString "error getting command line arguments"
|
|
|
|
ClearErrors
|
|
${GetParameters} $0
|
|
IfErrors done
|
|
|
|
ClearErrors
|
|
${GetOptions} " $0" " /postfile=" $PostFileArg
|
|
IfErrors done
|
|
|
|
${GetOptions} " $0" " /url=" $UrlArg
|
|
IfErrors done
|
|
|
|
${GetOptions} " $0" " /resultfile=" $ResultFileArg
|
|
IfErrors done
|
|
|
|
DetailPrint "POST File = $PostFileArg"
|
|
DetailPrint "URL = $UrlArg"
|
|
DetailPrint "Result File = $ResultFileArg"
|
|
|
|
StrCpy $ResultString "error running plugin"
|
|
HttpPostFile::Post $PostFileArg "Content-Type: application/json$\r$\n" $UrlArg
|
|
Pop $ResultString
|
|
|
|
done:
|
|
${If} $ResultString != "success"
|
|
DetailPrint $ResultString
|
|
${EndIf}
|
|
|
|
ClearErrors
|
|
FileOpen $0 $ResultFileArg "w"
|
|
${Unless} ${Errors}
|
|
FileWrite $0 $ResultString
|
|
FileClose $0
|
|
${EndUnless}
|
|
|
|
SectionEnd
|