@@ -56,8 +56,8 @@ func NewRESTHandler(handler a2asrv.RequestHandler, opts ...a2asrv.TransportOptio
5656 mux .HandleFunc ("POST " + paths .SendMessage (), h .handleSendMessage )
5757 mux .HandleFunc ("POST " + paths .StreamMessage (), h .handleStreamMessage )
5858 mux .HandleFunc ("GET " + paths .ListTasks (), h .handleListTasks )
59- mux .HandleFunc ("GET " + paths .PostTasksActionRoute (), h .handleGETTasks )
60- mux .HandleFunc ("POST " + paths .PostTasksActionRoute (), h .handlePOSTTasks )
59+ mux .HandleFunc ("GET " + paths .TaskActionRoute (), h .handleGetOrSubscribeTask )
60+ mux .HandleFunc ("POST " + paths .TaskActionRoute (), h .handleCancelOrSubscribeTask )
6161 mux .HandleFunc ("POST " + paths .CreatePushConfig ("{id}" ), h .handleCreateTaskPushConfig )
6262 mux .HandleFunc ("GET " + paths .ListPushConfigs ("{id}" ), h .handleListTaskPushConfigs )
6363 mux .HandleFunc ("GET " + paths .GetPushConfig ("{id}" , "{configId}" ), h .handleGetTaskPushConfig )
@@ -139,7 +139,7 @@ func (h *restCompatHandler) handleGetTask(taskID string, rw http.ResponseWriter,
139139 writeJSON (ctx , rw , data )
140140}
141141
142- func (h * restCompatHandler ) handlePOSTTasks (rw http.ResponseWriter , req * http.Request ) {
142+ func (h * restCompatHandler ) handleCancelOrSubscribeTask (rw http.ResponseWriter , req * http.Request ) {
143143 ctx := req .Context ()
144144 idAndAction := req .PathValue ("idAndAction" )
145145 if idAndAction == "" {
@@ -151,22 +151,26 @@ func (h *restCompatHandler) handlePOSTTasks(rw http.ResponseWriter, req *http.Re
151151 return
152152 }
153153 if before , ok := strings .CutSuffix (idAndAction , ":subscribe" ); ok {
154- h .handleStreamingRequest ( h . handler . SubscribeToTask ( ctx , & a2a. SubscribeToTaskRequest { ID : a2a . TaskID ( before )}) , rw , req )
154+ h .handleSubscribeToTask ( before , rw , req )
155155 return
156156 }
157157 writeRESTCompatError (ctx , rw , a2a .ErrInvalidRequest , a2a .TaskID ("" ))
158158}
159159
160- func (h * restCompatHandler ) handleGETTasks (rw http.ResponseWriter , req * http.Request ) {
161- ctx := req .Context ()
160+ func (h * restCompatHandler ) handleGetOrSubscribeTask (rw http.ResponseWriter , req * http.Request ) {
162161 idAndAction := req .PathValue ("idAndAction" )
163162 if before , ok := strings .CutSuffix (idAndAction , ":subscribe" ); ok {
164- h .handleStreamingRequest ( h . handler . SubscribeToTask ( ctx , & a2a. SubscribeToTaskRequest { ID : a2a . TaskID ( before )}) , rw , req )
163+ h .handleSubscribeToTask ( before , rw , req )
165164 return
166165 }
167166 h .handleGetTask (idAndAction , rw , req )
168167}
169168
169+ func (h * restCompatHandler ) handleSubscribeToTask (taskID string , rw http.ResponseWriter , req * http.Request ) {
170+ ctx := req .Context ()
171+ h .handleStreamingRequest (h .handler .SubscribeToTask (ctx , & a2a.SubscribeToTaskRequest {ID : a2a .TaskID (taskID )}), rw , req )
172+ }
173+
170174func (h * restCompatHandler ) handleCancelTask (taskID string , rw http.ResponseWriter , req * http.Request ) {
171175 ctx := req .Context ()
172176 result , err := h .handler .CancelTask (ctx , & a2a.CancelTaskRequest {ID : a2a .TaskID (taskID )})
0 commit comments