Mercurial > gemma
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 |