@@ -89,25 +89,28 @@ ClassMethod HandleRequest(pagePath As %String, InternalName As %String = "", Out
8989 SimpleHTTPRequestHandler.do_POST(self)
9090 */
9191 if (pathStart = " git" ) {
92- set reference = " %request.Data"
93- for {
94- set reference = $query (@reference )
95- quit :reference =" "
96- if $qsubscript (reference ,3 )=" O" {
97- set args (@reference )=$qsubscript (reference ,1 )
98- if $data (%request .Data ($qsubscript (reference ,1 ),$qsubscript (reference ,2 )),argValue )#2 && (argValue '= " " ) {
99- set args (@reference )=args (@reference )_" =" _argValue
100- }
101- }
102- }
92+ merge data = %request .Data
93+ set args = data (" command" ,1 )
94+ #; for {
95+ #; set reference = $query(@reference)
96+ #; merge ^mtempref($i(^mtempref)) = reference
97+ #; quit:reference=""
98+ #; if $qsubscript(reference,3)="O" {
99+ #; set args(@reference)=$qsubscript(reference,1)
100+ #; if $data(%request.Data($qsubscript(reference,1),$qsubscript(reference,2)),argValue)#2 && (argValue '= "") {
101+ #; set args(@reference)=args(@reference)_"="_argValue
102+ #; }
103+ #; }
104+ #; }
105+
103106
104107 // Problem: args(1) might contain $c(10) followed by our stdin value
105- if $data (args ( 1 ) )#2 {
106- set stdin = $piece (args ( 1 ) ,$char (10 ),2 ,*)
107- set args ( 1 ) = $piece (args ( 1 ) ,$char (10 ))
108+ if $data (args )#2 {
109+ set stdin = $piece (args ,$char (10 ),2 ,*)
110+ set args = $piece (args ,$char (10 ))
108111 }
109112 set readOnlyCommands = $listbuild (" branch" ," tag" ," log" ," ls-files" ," ls-tree" ," show" ," status" ," diff" )
110- set baseCommand = $Piece (args ( 1 ) ," " )
113+ set baseCommand = $Piece (args ," " )
111114
112115 if $listfind (readOnlyCommands ,baseCommand ) {
113116 do %session .Unlock ()
@@ -117,7 +120,7 @@ ClassMethod HandleRequest(pagePath As %String, InternalName As %String = "", Out
117120
118121 // TODO: Don't be lazy! Implement shlex.split in ObjectScript.
119122 // The below is just a little bit cheesy.
120- set argList = $listfromstring (args ( 1 ) ," " )
123+ set argList = $listfromstring (args ," " )
121124 set pointer = 0
122125 set inQuotedString = 0
123126 while $listnext (argList ,pointer ,arg ) {
0 commit comments