Mercurial > gemma
comparison controllers/externalwfs.go @ 355:e170075c22ac
Cosmetics: Unindent some code in WFS proxy.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 07 Aug 2018 16:44:59 +0200 |
parents | aa24b5691838 |
children | 55388227e7da |
comparison
equal
deleted
inserted
replaced
354:aa24b5691838 | 355:e170075c22ac |
---|---|
146 from := resp.Header.Get("X-Gemma-From") | 146 from := resp.Header.Get("X-Gemma-From") |
147 to := resp.Header.Get("X-Gemma-To") | 147 to := resp.Header.Get("X-Gemma-To") |
148 resp.Header.Del("X-Gemma-From") | 148 resp.Header.Del("X-Gemma-From") |
149 resp.Header.Del("X-Gemma-To") | 149 resp.Header.Del("X-Gemma-To") |
150 | 150 |
151 if isXML(resp.Header) { | 151 if !isXML(resp.Header) { |
152 log.Printf("rewrite from %s to %s\n", from, to) | 152 return nil |
153 | 153 } |
154 pr, pw := io.Pipe() | 154 |
155 | 155 log.Printf("rewrite from %s to %s\n", from, to) |
156 var ( | 156 |
157 r io.ReadCloser | 157 pr, pw := io.Pipe() |
158 w io.WriteCloser | 158 |
159 err error | 159 var ( |
160 ) | 160 r io.ReadCloser |
161 | 161 w io.WriteCloser |
162 reader, writer := encoding(resp.Header) | 162 err error |
163 | 163 ) |
164 if r, err = reader(resp.Body); err != nil { | 164 |
165 return err | 165 reader, writer := encoding(resp.Header) |
166 } | 166 |
167 | 167 if r, err = reader(resp.Body); err != nil { |
168 if w, err = writer(pw); err != nil { | 168 return err |
169 return err | 169 } |
170 } | 170 |
171 | 171 if w, err = writer(pw); err != nil { |
172 go func(force io.ReadCloser) { | 172 return err |
173 defer func() { | 173 } |
174 //r.Close() | 174 |
175 w.Close() | 175 go func(force io.ReadCloser) { |
176 pw.Close() | 176 defer func() { |
177 force.Close() | 177 //r.Close() |
178 }() | 178 w.Close() |
179 if err := rewrite(w, r, from, to); err != nil { | 179 pw.Close() |
180 log.Printf("rewrite failed: %v\n", err) | 180 force.Close() |
181 return | 181 }() |
182 } | 182 if err := rewrite(w, r, from, to); err != nil { |
183 log.Println("rewrite successful") | 183 log.Printf("rewrite failed: %v\n", err) |
184 }(resp.Body) | 184 return |
185 | 185 } |
186 resp.Body = pr | 186 log.Println("rewrite successful") |
187 } | 187 }(resp.Body) |
188 | |
189 resp.Body = pr | |
190 | |
188 return nil | 191 return nil |
189 } | 192 } |
190 | 193 |
191 func isXML(h http.Header) bool { | 194 func isXML(h http.Header) bool { |
192 for _, t := range h["Content-Type"] { | 195 for _, t := range h["Content-Type"] { |