Add *Ctx methods for calling SOAP methods.

Fixes #42.
This commit is contained in:
John Beisley
2021-07-11 14:53:32 +01:00
parent 9eb592fa19
commit 5a0d4bd7ee
4 changed files with 6409 additions and 1374 deletions
+19 -3
View File
@@ -17,6 +17,7 @@ package {{$name}}
// ***********************************************************
import (
"context"
"net/url"
"time"
@@ -115,8 +116,10 @@ func new{{$srvIdent}}ClientsFromGenericClients(genericClients []goupnp.ServiceCl
// Return values:{{range $woutargs}}{{if .HasDoc}}
//
// * {{.Name}}: {{.Document}}{{end}}{{end}}{{end}}
func (client *{{$srvIdent}}) {{.Name}}({{range $winargs -}}
{{.AsParameter}}, {{end -}}
func (client *{{$srvIdent}}) {{.Name}}Ctx(
ctx context.Context,
{{range $winargs }} {{.AsParameter}},
{{end -}}
) ({{range $woutargs -}}
{{.AsParameter}}, {{end}} err error) {
// Request structure.
@@ -132,7 +135,7 @@ func (client *{{$srvIdent}}) {{.Name}}({{range $winargs -}}
response := {{if $woutargs}}&{{template "argstruct" $woutargs}}{{"{}"}}{{else}}{{"interface{}(nil)"}}{{end}}
// Perform the SOAP call.
if err = client.SOAPClient.PerformAction({{$srv.URNParts.Const}}, "{{.Name}}", request, response); err != nil {
if err = client.SOAPClient.PerformActionCtx(ctx, {{$srv.URNParts.Const}}, "{{.Name}}", request, response); err != nil {
return
}
@@ -144,6 +147,19 @@ func (client *{{$srvIdent}}) {{.Name}}({{range $winargs -}}
// END Unmarshal arguments from response.
return
}
// {{.Name}} is the legacy version of {{.Name}}Ctx, but uses
// context.Background() as the context.
func (client *{{$srvIdent}}) {{.Name}}({{range $winargs -}}
{{.AsParameter}}, {{end -}}
) ({{range $woutargs -}}
{{.AsParameter}}, {{end}} err error) {
return client.{{.Name}}Ctx(context.Background(),
{{range $winargs }}{{.Name}},
{{end}}
)
}
{{end}}
{{end}}
+3210 -685
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff