comparison pkg/imports/erdms.go @ 5610:a826d84485c8 erdms2

Use token server to fetch token for ERDMS requests.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 31 Oct 2022 19:05:28 +0100
parents e1936db6db8e
children 57c655b93ba8
comparison
equal deleted inserted replaced
5609:e1936db6db8e 5610:a826d84485c8
18 "context" 18 "context"
19 "database/sql" 19 "database/sql"
20 "fmt" 20 "fmt"
21 "strings" 21 "strings"
22 22
23 "gemma.intevation.de/gemma/pkg/config"
23 "gemma.intevation.de/gemma/pkg/log" 24 "gemma.intevation.de/gemma/pkg/log"
24 "gemma.intevation.de/gemma/pkg/soap" 25 "gemma.intevation.de/gemma/pkg/soap"
25 erdms "gemma.intevation.de/gemma/pkg/soap/erdms2" 26 erdms "gemma.intevation.de/gemma/pkg/soap/erdms2"
26 ) 27 )
27 28
70 countries, err := userCountries(ctx, conn) 71 countries, err := userCountries(ctx, conn)
71 if err != nil { 72 if err != nil {
72 return nil, nil, err 73 return nil, nil, err
73 } 74 }
74 75
75 var auth *soap.BasicAuth 76 var auth soap.Auth
76 if username != "" { 77
77 auth = &soap.BasicAuth{ 78 if tokenURL := config.TokenURL(); tokenURL != "" && username != "" {
78 Login: username, 79 token, err := soap.FetchToken(tokenURL, username, password)
79 Password: password, 80 if err != nil {
81 return nil, nil, fmt.Errorf(
82 "error requesting token for ERDMS service: %w", err)
80 } 83 }
84 auth = token
81 } 85 }
82 86
83 client := erdms.NewRefService(URL, insecure, auth) 87 client := erdms.NewRefService(URL, insecure, auth)
84 88
85 var responseData []*erdms.GetRisDataXMLResponse 89 var responseData []*erdms.GetRisDataXMLResponse