1919)
2020
2121var (
22- supportSchema = make (map [string ]func (string , string ) (Store , error ))
22+ supportSchema = make (map [string ]func (string , string , BasicAuth ) (Store , error ))
2323)
2424
2525// EvtType event type
@@ -28,6 +28,11 @@ type EvtType int
2828// EvtSrc event src
2929type EvtSrc int
3030
31+ type BasicAuth struct {
32+ userName string
33+ password string
34+ }
35+
3136const (
3237 // EventTypeNew event type new
3338 EventTypeNew = EvtType (0 )
@@ -65,7 +70,7 @@ func init() {
6570}
6671
6772// GetStoreFrom returns a store implemention, if not support returns error
68- func GetStoreFrom (registryAddr , prefix string ) (Store , error ) {
73+ func GetStoreFrom (registryAddr , prefix string , userName string , password string ) (Store , error ) {
6974 u , err := url .Parse (registryAddr )
7075 if err != nil {
7176 panic (fmt .Sprintf ("parse registry addr failed, errors:%+v" , err ))
@@ -74,21 +79,21 @@ func GetStoreFrom(registryAddr, prefix string) (Store, error) {
7479 schema := strings .ToLower (u .Scheme )
7580 fn , ok := supportSchema [schema ]
7681 if ok {
77- return fn (u .Host , prefix )
82+ return fn (u .Host , prefix , BasicAuth { userName : userName , password : password } )
7883 }
7984
8085 return nil , fmt .Errorf ("not support: %s" , registryAddr )
8186}
8287
83- func getEtcdStoreFrom (addr , prefix string ) (Store , error ) {
88+ func getEtcdStoreFrom (addr , prefix string , basicAuth BasicAuth ) (Store , error ) {
8489 var addrs []string
8590 values := strings .Split (addr , "," )
8691
8792 for _ , value := range values {
8893 addrs = append (addrs , fmt .Sprintf ("http://%s" , value ))
8994 }
9095
91- return NewEtcdStore (addrs , prefix )
96+ return NewEtcdStore (addrs , prefix , basicAuth )
9297}
9398
9499// Store store interface
0 commit comments