Moved server packages to a separate folder
This commit is contained in:
23
server/middleware/HTTPSRedirect.go
Normal file
23
server/middleware/HTTPSRedirect.go
Normal file
@ -0,0 +1,23 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/aerogo/aero"
|
||||
)
|
||||
|
||||
// HTTPSRedirect middleware redirects to HTTPS if needed.
|
||||
func HTTPSRedirect(next aero.Handler) aero.Handler {
|
||||
return func(ctx aero.Context) error {
|
||||
request := ctx.Request()
|
||||
userAgent := request.Header("User-Agent")
|
||||
isBrowser := userAgent != ""
|
||||
|
||||
if isBrowser && request.Scheme() != "https" {
|
||||
return ctx.Redirect(http.StatusPermanentRedirect, "https://"+request.Host()+request.Path())
|
||||
}
|
||||
|
||||
// Handle the request
|
||||
return next(ctx)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user