@@ -180,11 +180,13 @@ func InstallQuadlets(w http.ResponseWriter, r *http.Request) {
180180
181181 // Parse query parameters
182182 query := struct {
183- Replace bool `schema:"replace"`
184- ReloadSystemd bool `schema:"reload-systemd"`
183+ Replace bool `schema:"replace"`
184+ ReloadSystemd bool `schema:"reload-systemd"`
185+ Application string `schema:"application"`
185186 }{
186187 Replace : false ,
187188 ReloadSystemd : true , // Default to true like CLI
189+ Application : "" ,
188190 }
189191
190192 if err := decoder .Decode (& query , r .URL .Query ()); err != nil {
@@ -227,18 +229,15 @@ func InstallQuadlets(w http.ResponseWriter, r *http.Request) {
227229 countQuadletFiles ++
228230 }
229231 }
230- switch {
231- case countQuadletFiles > 1 :
232- utils .Error (w , http .StatusBadRequest , fmt .Errorf ("only a single quadlet file is allowed per request" ))
233- return
234- case countQuadletFiles == 0 :
232+ if countQuadletFiles == 0 {
235233 utils .Error (w , http .StatusBadRequest , fmt .Errorf ("no quadlet files found in request" ))
236234 return
237235 }
238236
239237 containerEngine := abi.ContainerEngine {Libpod : runtime }
240238 installOptions := entities.QuadletInstallOptions {
241239 Replace : query .Replace ,
240+ Application : query .Application ,
242241 ReloadSystemd : query .ReloadSystemd ,
243242 }
244243
@@ -268,6 +267,7 @@ func RemoveQuadlet(w http.ResponseWriter, r *http.Request) {
268267 Force bool `schema:"force"`
269268 Ignore bool `schema:"ignore"`
270269 ReloadSystemd bool `schema:"reload-systemd"`
270+ Recursive bool `schema:"recursive"`
271271 }{
272272 ReloadSystemd : true , // Default to true like CLI
273273 }
@@ -288,6 +288,7 @@ func RemoveQuadlet(w http.ResponseWriter, r *http.Request) {
288288 Force : query .Force ,
289289 Ignore : query .Ignore ,
290290 ReloadSystemd : query .ReloadSystemd ,
291+ Recursive : query .Recursive ,
291292 }
292293
293294 removeReport , err := containerEngine .QuadletRemove (r .Context (), []string {name }, removeOptions )
@@ -324,6 +325,7 @@ func RemoveQuadlets(w http.ResponseWriter, r *http.Request) {
324325 Force bool `schema:"force"`
325326 Ignore bool `schema:"ignore"`
326327 ReloadSystemd bool `schema:"reload-systemd"`
328+ Recursive bool `schema:"recursive"`
327329 Quadlets []string `schema:"quadlets"`
328330 }{
329331 ReloadSystemd : true , // Default to true like CLI
@@ -352,6 +354,7 @@ func RemoveQuadlets(w http.ResponseWriter, r *http.Request) {
352354 All : query .All ,
353355 Ignore : query .Ignore ,
354356 ReloadSystemd : query .ReloadSystemd ,
357+ Recursive : query .Recursive ,
355358 }
356359
357360 removeReport , err := containerEngine .QuadletRemove (r .Context (), query .Quadlets , removeOptions )
0 commit comments