@@ -73,6 +73,10 @@ func run(c *cli.Context) error {
73
73
)
74
74
}
75
75
76
+ if _ , err := url .Parse (c .String ("server-host" )); err != nil {
77
+ log .Fatal ().Err (err ).Msg ("could not parse WOODPECKER_HOST" )
78
+ }
79
+
76
80
if strings .Contains (c .String ("server-host" ), "://localhost" ) {
77
81
log .Warn ().Msg (
78
82
"WOODPECKER_HOST should probably be publicly accessible (not localhost)" ,
@@ -136,7 +140,6 @@ func run(c *cli.Context) error {
136
140
server .Config .Services .Logs ,
137
141
server .Config .Services .Pubsub ,
138
142
_store ,
139
- server .Config .Server .Host ,
140
143
)
141
144
proto .RegisterWoodpeckerServer (grpcServer , woodpeckerServer )
142
145
@@ -206,11 +209,9 @@ func run(c *cli.Context) error {
206
209
207
210
// http to https redirect
208
211
redirect := func (w http.ResponseWriter , req * http.Request ) {
209
- serverHost := server .Config .Server .Host
210
- serverHost = strings .TrimPrefix (serverHost , "http://" )
211
- serverHost = strings .TrimPrefix (serverHost , "https://" )
212
+ serverURL , _ := url .Parse (server .Config .Server .Host )
212
213
req .URL .Scheme = "https"
213
- req .URL .Host = serverHost
214
+ req .URL .Host = serverURL . Host
214
215
215
216
w .Header ().Set ("Strict-Transport-Security" , "max-age=31536000" )
216
217
@@ -327,16 +328,17 @@ func setupEvilGlobals(c *cli.Context, v store.Store, f forge.Forge) {
327
328
server .Config .Server .Cert = c .String ("server-cert" )
328
329
server .Config .Server .Key = c .String ("server-key" )
329
330
server .Config .Server .AgentToken = c .String ("agent-secret" )
330
- server .Config .Server .Host = c .String ("server-host" )
331
+ serverHost := c .String ("server-host" )
332
+ server .Config .Server .Host = serverHost
331
333
if c .IsSet ("server-webhook-host" ) {
332
334
server .Config .Server .WebhookHost = c .String ("server-webhook-host" )
333
335
} else {
334
- server .Config .Server .WebhookHost = c . String ( "server-host" )
336
+ server .Config .Server .WebhookHost = serverHost
335
337
}
336
338
if c .IsSet ("server-dev-oauth-host" ) {
337
339
server .Config .Server .OAuthHost = c .String ("server-dev-oauth-host" )
338
340
} else {
339
- server .Config .Server .OAuthHost = c . String ( "server-host" )
341
+ server .Config .Server .OAuthHost = serverHost
340
342
}
341
343
server .Config .Server .Port = c .String ("server-addr" )
342
344
server .Config .Server .PortTLS = c .String ("server-addr-tls" )
0 commit comments