aboutsummaryrefslogtreecommitdiff
path: root/middleware/proxy/google.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/proxy/google.go')
-rw-r--r--middleware/proxy/google.go55
1 files changed, 28 insertions, 27 deletions
diff --git a/middleware/proxy/google.go b/middleware/proxy/google.go
index 7b215f517..205b09379 100644
--- a/middleware/proxy/google.go
+++ b/middleware/proxy/google.go
@@ -112,11 +112,8 @@ func (g *google) exchangeJSON(addr, json string) ([]byte, error) {
return buf, nil
}
-func (g *google) Transport() string {
- return "tcp"
-}
-
-func (g *google) Protocol() string { return "https_google" }
+func (g *google) Transport() string { return "tcp" }
+func (g *google) Protocol() string { return "https_google" }
func (g *google) OnShutdown(p *Proxy) error {
g.quit <- true
@@ -130,52 +127,56 @@ func (g *google) OnStartup(p *Proxy) error {
req.SetQuestion(g.endpoint, dns.TypeA)
state := request.Request{W: new(fakeBootWriter), Req: req}
- new, err := g.bootstrapProxy.Lookup(state, g.endpoint, dns.TypeA)
+ if len(*p.Upstreams) == 0 {
+ return fmt.Errorf("no upstreams defined")
+ }
- var oldUpstream Upstream
+ oldUpstream := (*p.Upstreams)[0]
- // ignore errors here, as we want to keep on trying.
+ log.Printf("[INFO] Bootstrapping A records %q", g.endpoint)
+
+ new, err := g.bootstrapProxy.Lookup(state, g.endpoint, dns.TypeA)
if err != nil {
log.Printf("[WARNING] Failed to bootstrap A records %q: %s", g.endpoint, err)
} else {
addrs, err1 := extractAnswer(new)
if err1 != nil {
- log.Printf("[WARNING] Failed to bootstrap A records %q: %s", g.endpoint, err)
- }
+ log.Printf("[WARNING] Failed to bootstrap A records %q: %s", g.endpoint, err1)
+ } else {
- if len(*p.Upstreams) > 0 {
- oldUpstream = (*p.Upstreams)[0]
up := newUpstream(addrs, oldUpstream.(*staticUpstream))
p.Upstreams = &[]Upstream{up}
- } else {
- log.Printf("[WARNING] Failed to bootstrap upstreams %q", g.endpoint)
+
+ log.Printf("[INFO] Bootstrapping A records %q found: %v", g.endpoint, addrs)
}
}
go func() {
- tick := time.NewTicker(300 * time.Second)
+ tick := time.NewTicker(120 * time.Second)
for {
select {
case <-tick.C:
+ log.Printf("[INFO] Resolving A records %q", g.endpoint)
+
new, err := g.bootstrapProxy.Lookup(state, g.endpoint, dns.TypeA)
if err != nil {
- log.Printf("[WARNING] Failed to bootstrap A records %q: %s", g.endpoint, err)
- } else {
- addrs, err1 := extractAnswer(new)
- if err1 != nil {
- log.Printf("[WARNING] Failed to bootstrap A records %q: %s", g.endpoint, err)
- continue
- }
+ log.Printf("[WARNING] Failed to resolve A records %q: %s", g.endpoint, err)
+ continue
+ }
- // TODO(miek): can this actually happen?
- if oldUpstream != nil {
- up := newUpstream(addrs, oldUpstream.(*staticUpstream))
- p.Upstreams = &[]Upstream{up}
- }
+ addrs, err1 := extractAnswer(new)
+ if err1 != nil {
+ log.Printf("[WARNING] Failed to resolve A records %q: %s", g.endpoint, err1)
+ continue
}
+ up := newUpstream(addrs, oldUpstream.(*staticUpstream))
+ p.Upstreams = &[]Upstream{up}
+
+ log.Printf("[INFO] Resolving A records %q found: %v", g.endpoint, addrs)
+
case <-g.quit:
return
}
es/readable-stream-default'>types/readable-stream-default Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/dns.ts (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-02-06Fix gaps in types (#2003)Gravatar Colin McDonnell 11-97/+599
2023-02-06Make `Stat` functions fastGravatar Jarred Sumner 6-22/+305
2023-02-06bumpGravatar Jarred Sumner 2-1/+18
2023-02-06formattingGravatar Jarred Sumner 2-2/+7
2023-02-06tweaks to generatorGravatar Jarred Sumner 2-415/+167
2023-02-06Mark some things as not configurableGravatar Jarred Sumner 10-185/+1016
2023-02-06Use new bindings for StatGravatar Jarred Sumner 10-161/+505
2023-02-06Fix buildGravatar Jarred Sumner 1-3/+4
2023-02-06Backport https://github.com/WebKit/WebKit/pull/9713Gravatar Jarred Sumner 2-2/+2
2023-02-06Expose Dirent and Stats (#1998)Gravatar MichaƂ Warda 6-1/+40
2023-02-06fix(uWS:capi) uws_req_set_yield typo and uws_res_override_write_offset (#1996)Gravatar Ciro Spaciari 3-6/+7
2023-02-06Add types for node:console and node:perf_hooks (#1982)Gravatar Colin McDonnell 8-153/+1342
2023-02-06mark bindingGravatar Dylan Conway 1-0/+1
2023-02-06Fix URL of wasi-js (#1997)Gravatar Cheng Shao 2-3/+3
2023-02-05speed it up a little moreGravatar Jarred Sumner 4-119/+290
2023-02-05`substringSharingImpl` allocates, do not useGravatar Jarred Sumner 2-57/+27
2023-02-05Faster Buffer.toString("ascii")Gravatar Jarred Sumner 1-8/+35
2023-02-04Bump querystring-es3 (#1988)Gravatar Gaurish Sethia 2-9/+36
2023-02-04Add `isDeepStructEqual` to `node:util`Gravatar Jarred Sumner 1-2/+6
2023-02-03Fixes #1978Gravatar Jarred Sumner 1-3/+7
2023-02-03Implement os.cpus() for Linux (#1977)Gravatar Justin Whear 1-2/+138
2023-02-03Support passing `Date` to `Bun.sleep`Gravatar Jarred Sumner 3-3/+27
2023-02-03Add test for propagating exceptionGravatar Jarred Sumner 3-5/+28
2023-02-03Add missing crypto exportGravatar Jarred Sumner 2-16/+22
2023-02-03Introduce `await Bun.sleep(ms)`Gravatar Jarred Sumner 5-15/+110
2023-02-03Fix types for `Array.fromAsync`Gravatar Ashcon Partovi 1-1/+1
2023-02-03Fix/Update Typescript types (#1972)Gravatar Gaurish Sethia 2-168/+38
2023-02-03fix require("perf_hooks")Gravatar Jarred Sumner 1-0/+1
2023-02-03allow other ArrayBufferView in Buffer functionsGravatar Jarred Sumner 1-6/+6
2023-02-03Make it less flakyGravatar Jarred Sumner 1-1/+1
2023-02-03Run tests on pull requestsGravatar Ashcon Partovi 1-0/+7
2023-02-03Run tests on pushGravatar Ashcon Partovi 1-0/+7
2023-02-03anotherGravatar Dylan Conway 1-1/+1
2023-02-03integers overflowingGravatar Dylan Conway 1-1/+1
2023-02-03Attempt to debug annotations 2Gravatar Ashcon Partovi 1-4/+1
2023-02-03Attempt to debug annotationsGravatar Ashcon Partovi 1-0/+7
2023-02-03Fix console output in bun wiptestGravatar Ashcon Partovi 1-4/+3
2023-02-03Use GitHub action SDKGravatar Ashcon Partovi 4-10/+16