@@ -174,53 +174,43 @@ func Run() error {
174174 localClient , _ = srv .LocalClient ()
175175out:
176176 for {
177- ctx , cancel := context .WithTimeout (context .Background (), 10 * time .Second )
177+ upCtx , cancel := context .WithTimeout (context .Background (), 10 * time .Second )
178178 defer cancel ()
179- status , err := srv .Up (ctx )
179+ status , err := srv .Up (upCtx )
180180 if err == nil && status != nil {
181181 break out
182182 }
183183 }
184184
185- ctx , cancel := context .WithTimeout (context .Background (), 10 * time .Second )
185+ statusCtx , cancel := context .WithTimeout (context .Background (), 10 * time .Second )
186186 defer cancel ()
187- status , err := localClient .Status (ctx )
187+ status , err := localClient .Status (statusCtx )
188188 if err != nil {
189189 return err
190190 }
191191 enableTLS := status .Self .HasCap (tailcfg .CapabilityHTTPS )
192- dnsName := status .Self .DNSName
192+ fqdn := strings . TrimSuffix ( status .Self .DNSName , "." )
193193
194- var httpHandler http.Handler
195- var httpsHandler http.Handler
194+ httpHandler := serveHandler ()
196195 if enableTLS {
197- redirectFqdn := strings .TrimSuffix (dnsName , "." )
198- httpHandler = redirectHandler (redirectFqdn )
199- httpsHandler = HSTS (serveHandler ())
200- } else {
201- httpHandler = serveHandler ()
202- httpsHandler = nil
203- }
196+ httpsHandler := HSTS (httpHandler )
197+ httpHandler = redirectHandler (fqdn )
204198
205- if httpsHandler != nil {
206- log .Println ("Listening on :443" )
207199 httpsListener , err := srv .ListenTLS ("tcp" , ":443" )
208200 if err != nil {
209201 return err
210202 }
211- go func () error {
212- log .Printf ("Serving https://%s/ ..." , strings .TrimSuffix (dnsName , "." ))
203+ log .Println ("Listening on :443" )
204+ go func () {
205+ log .Printf ("Serving https://%s/ ..." , fqdn )
213206 if err := http .Serve (httpsListener , httpsHandler ); err != nil {
214- return err
207+ log . Fatal ( err )
215208 }
216- return nil
217209 }()
218210 }
219211
220- // HTTP handler that either serves primary handler or redirects to HTTPS
221- // depending on availability of TLS.
222- log .Println ("Listening on :80" )
223212 httpListener , err := srv .Listen ("tcp" , ":80" )
213+ log .Println ("Listening on :80" )
224214 if err != nil {
225215 return err
226216 }
0 commit comments