From 32417e1388dfa885831c1ffeac434f8baa60f904 Mon Sep 17 00:00:00 2001 From: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com> Date: Tue, 17 Sep 2019 15:25:48 +0200 Subject: [PATCH] Devenv: create slow_proxy_mac (#19174) --- .../docker/blocks/slow_proxy_mac/Dockerfile | 7 +++++ .../blocks/slow_proxy_mac/docker-compose.yaml | 6 ++++ devenv/docker/blocks/slow_proxy_mac/main.go | 31 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 devenv/docker/blocks/slow_proxy_mac/Dockerfile create mode 100644 devenv/docker/blocks/slow_proxy_mac/docker-compose.yaml create mode 100644 devenv/docker/blocks/slow_proxy_mac/main.go diff --git a/devenv/docker/blocks/slow_proxy_mac/Dockerfile b/devenv/docker/blocks/slow_proxy_mac/Dockerfile new file mode 100644 index 00000000000..e553cb6727c --- /dev/null +++ b/devenv/docker/blocks/slow_proxy_mac/Dockerfile @@ -0,0 +1,7 @@ + +FROM golang:latest +ADD main.go / +WORKDIR / +RUN go build -o main . +EXPOSE 3011 +ENTRYPOINT ["/main"] diff --git a/devenv/docker/blocks/slow_proxy_mac/docker-compose.yaml b/devenv/docker/blocks/slow_proxy_mac/docker-compose.yaml new file mode 100644 index 00000000000..47347042df7 --- /dev/null +++ b/devenv/docker/blocks/slow_proxy_mac/docker-compose.yaml @@ -0,0 +1,6 @@ + slow_proxy_mac: + build: docker/blocks/slow_proxy_mac + ports: + - '3011:3011' + environment: + ORIGIN_SERVER: 'http://host.docker.internal:9090/' diff --git a/devenv/docker/blocks/slow_proxy_mac/main.go b/devenv/docker/blocks/slow_proxy_mac/main.go new file mode 100644 index 00000000000..dece2525c13 --- /dev/null +++ b/devenv/docker/blocks/slow_proxy_mac/main.go @@ -0,0 +1,31 @@ +package main + +import ( + "fmt" + "log" + "net/http" + "net/http/httputil" + "net/url" + "os" + "time" +) + +func main() { + origin := os.Getenv("ORIGIN_SERVER") + if origin == "" { + origin = "http://host.docker.internal:9090/" + } + + sleep := time.Minute + + originURL, _ := url.Parse(origin) + proxy := httputil.NewSingleHostReverseProxy(originURL) + + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + fmt.Printf("sleeping for %s then proxying request: %s", sleep.String(), r.RequestURI) + <-time.After(sleep) + proxy.ServeHTTP(w, r) + }) + + log.Fatal(http.ListenAndServe(":3011", nil)) +}