12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /*
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
- Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
- http-wokou, An HTTP Proxying framework for bypassing DNS Security
- Copyright (C) 2024 Russell Hrubesky, ChiralWorks Software LLC
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
- package httpserver
- import (
- "os"
- "os/signal"
- "syscall"
- "github.com/gin-gonic/gin"
- )
- /*
- Registers the exposed route to utilize the handler function
- :param e: pointer to a gin.Engine struct
- :param cfg: pointer to an HttpServerConfig struct
- */
- func RegisterRoutes(e *gin.Engine, cfg *HttpServerConfig, rmaps *RouteMap) {
- c := NewController(cfg, rmaps)
- sigChanel := make(chan os.Signal)
- signal.Notify(sigChanel, os.Interrupt, syscall.SIGINT)
- go func(core *Controller) {
- <-sigChanel
- c.RouteMaps.ExportRouteMap(c.Config.RouteMapPath)
- os.Exit(1)
- }(c)
- web := e.Group("")
- web.Any("/*ProxiedPath", c.HandleAny)
- }
|