github.com/mysteriumnetwork/node@v0.0.0-20240516044423-365054f76801/tequilapi/tequil/routes.go (about) 1 /* 2 * Copyright (C) 2023 The "MysteriumNetwork/node" Authors. 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 package tequil 19 20 import "strings" 21 22 // TequilapiURLPrefix tequilapi reverse proxy prefix 23 const TequilapiURLPrefix = "/tequilapi" 24 25 // UnprotectedRoutes these routes are not protected by reverse proxy 26 var UnprotectedRoutes = []string{"/auth/authenticate", "/auth/login", "/healthcheck", "/config/user", "/config/ui/features"} 27 28 // IsUnprotectedRoute helper method for checking if route is unprotected 29 func IsUnprotectedRoute(url string) bool { 30 for _, route := range UnprotectedRoutes { 31 if strings.Contains(url, route) { 32 return true 33 } 34 } 35 36 return false 37 } 38 39 // IsProtectedRoute helper method for checking if route is protected 40 func IsProtectedRoute(url string) bool { 41 return !IsUnprotectedRoute(url) 42 } 43 44 // IsReverseProxyRoute helper method for checking if URL is of tequilapi reverse proxy 45 func IsReverseProxyRoute(url string) bool { 46 return strings.Contains(url, TequilapiURLPrefix) 47 }