From 1c67881c37f2b6863a8cb1e89b83d920bda4e0e3 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Tue, 12 Feb 2019 12:35:00 +0100 Subject: [PATCH] kube-aggregator: move helper code down --- .../openapi/aggregator/downloader.go | 80 +++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/downloader.go b/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/downloader.go index f581fbdb946..cb9deb0cbd6 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/downloader.go +++ b/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/downloader.go @@ -38,46 +38,6 @@ func NewDownloader() Downloader { return Downloader{} } -// inMemoryResponseWriter is a http.Writer that keep the response in memory. -type inMemoryResponseWriter struct { - writeHeaderCalled bool - header http.Header - respCode int - data []byte -} - -func newInMemoryResponseWriter() *inMemoryResponseWriter { - return &inMemoryResponseWriter{header: http.Header{}} -} - -func (r *inMemoryResponseWriter) Header() http.Header { - return r.header -} - -func (r *inMemoryResponseWriter) WriteHeader(code int) { - r.writeHeaderCalled = true - r.respCode = code -} - -func (r *inMemoryResponseWriter) Write(in []byte) (int, error) { - if !r.writeHeaderCalled { - r.WriteHeader(http.StatusOK) - } - r.data = append(r.data, in...) - return len(in), nil -} - -func (r *inMemoryResponseWriter) String() string { - s := fmt.Sprintf("ResponseCode: %d", r.respCode) - if r.data != nil { - s += fmt.Sprintf(", Body: %s", string(r.data)) - } - if r.header != nil { - s += fmt.Sprintf(", Header: %s", r.header) - } - return s -} - func (s *Downloader) handlerWithUser(handler http.Handler, info user.Info) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { req = req.WithContext(request.WithUser(req.Context(), info)) @@ -141,3 +101,43 @@ func (s *Downloader) Download(handler http.Handler, etag string) (returnSpec *sp return nil, "", 0, fmt.Errorf("failed to retrieve openAPI spec, http error: %s", writer.String()) } } + +// inMemoryResponseWriter is a http.Writer that keep the response in memory. +type inMemoryResponseWriter struct { + writeHeaderCalled bool + header http.Header + respCode int + data []byte +} + +func newInMemoryResponseWriter() *inMemoryResponseWriter { + return &inMemoryResponseWriter{header: http.Header{}} +} + +func (r *inMemoryResponseWriter) Header() http.Header { + return r.header +} + +func (r *inMemoryResponseWriter) WriteHeader(code int) { + r.writeHeaderCalled = true + r.respCode = code +} + +func (r *inMemoryResponseWriter) Write(in []byte) (int, error) { + if !r.writeHeaderCalled { + r.WriteHeader(http.StatusOK) + } + r.data = append(r.data, in...) + return len(in), nil +} + +func (r *inMemoryResponseWriter) String() string { + s := fmt.Sprintf("ResponseCode: %d", r.respCode) + if r.data != nil { + s += fmt.Sprintf(", Body: %s", string(r.data)) + } + if r.header != nil { + s += fmt.Sprintf(", Header: %s", r.header) + } + return s +}