本文整理汇总了Golang中net/url.UserPassword函数的典型用法代码示例。如果您正苦于以下问题:Golang UserPassword函数的具体用法?Golang UserPassword怎么用?Golang UserPassword使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了UserPassword函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: processOverride
func processOverride(u *url.URL) {
envUsername := os.Getenv(envUserName)
envPassword := os.Getenv(envPassword)
// Override username if provided
if envUsername != "" {
var password string
var ok bool
if u.User != nil {
password, ok = u.User.Password()
}
if ok {
u.User = url.UserPassword(envUsername, password)
} else {
u.User = url.User(envUsername)
}
}
// Override password if provided
if envPassword != "" {
var username string
if u.User != nil {
username = u.User.Username()
}
u.User = url.UserPassword(username, envPassword)
}
}
示例2: Process
func (flag *ClientFlag) Process() error {
if flag.url == nil {
return errors.New("specify an " + cDescr)
}
// Override username if set
if flag.username != "" {
var password string
var ok bool
if flag.url.User != nil {
password, ok = flag.url.User.Password()
}
if ok {
flag.url.User = url.UserPassword(flag.username, password)
} else {
flag.url.User = url.User(flag.username)
}
}
// Override password if set
if flag.password != "" {
var username string
if flag.url.User != nil {
username = flag.url.User.Username()
}
flag.url.User = url.UserPassword(username, flag.password)
}
return nil
}
示例3: TestBasicAuth
func TestBasicAuth(t *testing.T) {
basicAuthTestcase(t, nil, nil)
basicAuthTestcase(t, nil, url.UserPassword("username", "password"))
basicAuthTestcase(t, url.UserPassword("usename", "password"), nil)
basicAuthTestcase(t, url.UserPassword("unused", "unused"),
url.UserPassword("username", "password"))
}
示例4: TestMakeProxySpec
func TestMakeProxySpec(t *testing.T) {
badTests := [...]url.URL{
{Scheme: "http"},
{Scheme: "http", Host: ":"},
{Scheme: "http", Host: "localhost"},
{Scheme: "http", Host: "localhost:"},
{Scheme: "http", Host: ":8080"},
{Scheme: "http", Host: "localhost:https"},
{Scheme: "http", Host: "localhost:8080", User: url.User("username")},
{Scheme: "http", Host: "localhost:8080", User: url.UserPassword("username", "password")},
{Scheme: "http", User: url.User("username"), Host: "localhost:8080"},
{Scheme: "http", User: url.UserPassword("username", "password"), Host: "localhost:8080"},
{Scheme: "http", Host: "localhost:-1"},
{Scheme: "http", Host: "localhost:65536"},
{Scheme: "socks5", Host: ":"},
{Scheme: "socks4a", Host: ":"},
// "socks" and "socks4" are unknown types.
{Scheme: "socks", Host: "localhost:1080"},
{Scheme: "socks4", Host: "localhost:1080"},
{Scheme: "unknown", Host: "localhost:9999"},
}
goodTests := [...]struct {
input url.URL
expected ProxySpec
}{
{
url.URL{Scheme: "http", Host: "localhost:8080"},
ProxySpec{"http", "localhost", 8080},
},
{
url.URL{Scheme: "socks5", Host: "localhost:1080"},
ProxySpec{"socks5", "localhost", 1080},
},
{
url.URL{Scheme: "socks4a", Host: "localhost:1080"},
ProxySpec{"socks4a", "localhost", 1080},
},
}
for _, input := range badTests {
_, err := makeProxySpec(&input)
if err == nil {
t.Errorf("%q unexpectedly succeeded", input)
}
}
for _, test := range goodTests {
spec, err := makeProxySpec(&test.input)
if err != nil {
t.Fatalf("%q unexpectedly returned an error: %s", test.input, err)
}
if *spec != test.expected {
t.Errorf("%q → %q (expected %q)", test.input, spec, test.expected)
}
}
}
示例5: SetAPIKey
// Set the API key used for all Get and Push API calls.
func SetAPIKey(apiKey string) {
pUrl := url.URL{}
pUrl.Scheme = "https"
pUrl.User = url.UserPassword(apiKey, "")
pUrl.Host = "api.pushbullet.com"
pUrl.Path = "/api/pushes"
pushUrl = pUrl.String()
gUrl := url.URL{}
gUrl.Scheme = "https"
gUrl.User = url.UserPassword(apiKey, "")
gUrl.Host = "api.pushbullet.com"
gUrl.Path = "/api/devices"
getUrl = gUrl.String()
}
示例6: Validate
// Validate validates the resource.
func (bv *BaseVSphere) Validate() error {
if err := bv.Base.Validate(); err != nil {
return err
}
if bv.Username == "" {
return ErrNoUsername
}
if bv.Password == "" {
return ErrNoPassword
}
if bv.Endpoint == "" {
return ErrNoEndpoint
}
// Validate the URL to the API endpoint and set the username and password info
endpoint, err := url.Parse(bv.Endpoint)
if err != nil {
return err
}
endpoint.User = url.UserPassword(bv.Username, bv.Password)
bv.url = endpoint
return nil
}
示例7: TestMain
func TestMain(t *testing.T) {
ctx := context.Background()
for i, model := range []*simulator.Model{simulator.ESX(), simulator.VPX()} {
t.Logf("%d", i)
defer model.Remove()
err := model.Create()
if err != nil {
t.Fatal(err)
}
s := model.Service.NewServer()
defer s.Close()
s.URL.User = url.UserPassword("user", "pass")
t.Logf("server URL: %s", s.URL)
var sess *session.Session
if i == 0 {
sess, err = getESXSession(ctx, s.URL.String())
} else {
sess, err = getVPXSession(ctx, s.URL.String())
}
if err != nil {
t.Fatal(err)
}
defer sess.Logout(ctx)
testGetChildrenVMs(ctx, sess, t)
testGetChildVM(ctx, sess, t)
testFindResourcePool(ctx, sess, t)
testGetCluster(ctx, sess, t)
}
}
示例8: NewChimpAPI
func NewChimpAPI(apiKey string) *ChimpAPI {
u := &url.URL{}
u.Scheme = "https"
u.Host = fmt.Sprintf("%s.api.mailchimp.com", mailchimp_datacenter.FindString(apiKey))
u.User = url.UserPassword("", apiKey)
return &ChimpAPI{url: u}
}
示例9: getConfig
func getConfig() (shuttle.Config, error) {
c, err := parseFlags(shuttle.NewConfig())
if err != nil {
return c, err
}
if c.MaxAttempts < 1 {
return c, fmt.Errorf("-max-attempts must be >= 1")
}
c.LogsURL = determineLogsURL(os.Getenv("LOGPLEX_URL"), os.Getenv("LOGS_URL"), c.LogsURL)
oURL, err := validateURL(c.LogsURL)
if err != nil {
return c, err
}
if oURL.User == nil {
oURL.User = url.UserPassword("token", c.Appname)
}
c.FormatterFunc = determineOutputFormatter(oURL)
c.LogsURL = oURL.String()
c.ComputeHeader()
return c, nil
}
示例10: NewVMHost
// NewVMHost connects to a ESXi or vCenter instance and returns a *VMHost
func NewVMHost(insecure bool, hostURL_param, user, pass string) (*VMHost, error) {
ctx, _ := context.WithCancel(context.Background())
hostURL, err := url.Parse("https://" + hostURL_param + "/sdk")
hostURL.User = url.UserPassword(user, pass)
cli, err := govmomi.NewClient(ctx, hostURL, insecure)
if err != nil {
return nil, err
}
mac, err := getLocalMAC()
if err != nil {
return nil, err
}
vmh := &VMHost{
client: cli,
Ctx: ctx,
mac: mac,
}
vm, err := vmh.findVM(vmh.mac)
if err != nil {
return nil, err
}
vmh.Vm = vm
return vmh, nil
}
示例11: Open
// Opens a connection to the datasource. See Session().
func (self *Source) Open() error {
var err error
connURL := &url.URL{Scheme: "mongodb"}
if self.config.Port == 0 {
self.config.Port = 27017
}
if self.config.Host == "" {
self.config.Host = "127.0.0.1"
}
connURL.Host = fmt.Sprintf("%s:%d", self.config.Host, self.config.Port)
if self.config.User != "" {
connURL.User = url.UserPassword(self.config.User, self.config.Password)
}
if self.config.Database != "" {
connURL.Path = "/" + self.config.Database
}
self.session, err = mgo.DialWithTimeout(connURL.String(), 5*time.Second)
if err != nil {
return err
}
if self.config.Database != "" {
self.Use(self.config.Database)
}
return nil
}
示例12: TestClient_BasicAuth
func TestClient_BasicAuth(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
u, p, ok := r.BasicAuth()
if !ok {
t.Errorf("basic auth error")
}
if u != "username" {
t.Errorf("unexpected username, expected %q, actual %q", "username", u)
}
if p != "password" {
t.Errorf("unexpected password, expected %q, actual %q", "password", p)
}
w.WriteHeader(http.StatusNoContent)
}))
defer ts.Close()
u, _ := url.Parse(ts.URL)
u.User = url.UserPassword("username", "password")
config := client.Config{URL: *u, Username: "username", Password: "password"}
c, err := client.NewClient(config)
if err != nil {
t.Fatalf("unexpected error. expected %v, actual %v", nil, err)
}
_, _, err = c.Ping()
if err != nil {
t.Fatalf("unexpected error. expected %v, actual %v", nil, err)
}
}
示例13: Update
// Update overwrites settings in the target that are derived from the job config
// it belongs to.
func (t *Target) Update(cfg *config.ScrapeConfig, baseLabels, metaLabels clientmodel.LabelSet) {
t.Lock()
defer t.Unlock()
t.url.Scheme = cfg.Scheme
t.url.Path = string(baseLabels[clientmodel.MetricsPathLabel])
if cfg.BasicAuth != nil {
t.url.User = url.UserPassword(cfg.BasicAuth.Username, cfg.BasicAuth.Password)
}
t.url.RawQuery = cfg.Params.Encode()
t.scrapeInterval = time.Duration(cfg.ScrapeInterval)
t.deadline = time.Duration(cfg.ScrapeTimeout)
t.httpClient = httputil.NewDeadlineClient(time.Duration(cfg.ScrapeTimeout))
t.honorLabels = cfg.HonorLabels
t.metaLabels = metaLabels
t.baseLabels = clientmodel.LabelSet{}
// All remaining internal labels will not be part of the label set.
for name, val := range baseLabels {
if !strings.HasPrefix(string(name), clientmodel.ReservedLabelPrefix) {
t.baseLabels[name] = val
}
}
if _, ok := t.baseLabels[clientmodel.InstanceLabel]; !ok {
t.baseLabels[clientmodel.InstanceLabel] = clientmodel.LabelValue(t.InstanceIdentifier())
}
t.metricRelabelConfigs = cfg.MetricRelabelConfigs
}
示例14: dockerRunArgs
// returns the part after "docker run"
func (conf watchConfig) dockerRunArgs() (args []string) {
log.Printf("Running watcher with master key %q", masterKey())
if key := masterKey(); len(key) > 0 {
tmpKey := "/tmp/watcher.buildkey"
if _, err := os.Stat(tmpKey); err != nil {
if err := ioutil.WriteFile(tmpKey, key, 0600); err != nil {
log.Fatal(err)
}
}
// Images may look for .gobuildkey in / or /root, so provide both.
// TODO(adg): fix images that look in the wrong place.
args = append(args, "-v", tmpKey+":/.gobuildkey")
args = append(args, "-v", tmpKey+":/root/.gobuildkey")
}
if conf.netHost {
args = append(args, "--net=host")
}
args = append(args,
"go-commit-watcher",
"/usr/local/bin/watcher",
"-repo="+conf.repo,
"-dash="+conf.dash,
"-poll="+conf.interval.String(),
"-http="+conf.httpAddr,
)
if conf.mirrorBase != "" {
dst, err := url.Parse(conf.mirrorBase)
if err != nil {
log.Fatalf("Bad mirror destination URL: %q", conf.mirrorBase)
}
dst.User = url.UserPassword(mirrorCred())
args = append(args, "-mirror="+dst.String())
}
return
}
示例15: Init
// we'll connect to the database through this function
func Init() {
dbMutex.Lock()
defer dbMutex.Unlock()
if initialized {
return
}
DBUrl = url.URL{
Scheme: "postgres",
Host: config.Constants.DbAddr,
Path: config.Constants.DbDatabase,
RawQuery: "sslmode=disable",
}
logrus.Info("Connecting to DB on %s", DBUrl.String())
DBUrl.User = url.UserPassword(config.Constants.DbUsername, config.Constants.DbPassword)
var err error
DB, err = gorm.Open("postgres", DBUrl.String())
// DB, err := gorm.Open("sqlite3", "/tmp/gorm.db")
if err != nil {
logrus.Fatal(err.Error())
}
DB.SetLogger(logrus.StandardLogger())
logrus.Info("Connected!")
initialized = true
}