Spaces:
Sleeping
Sleeping
File size: 2,140 Bytes
542878f a1eed6b d3c13b7 a1eed6b 542878f a1eed6b d3c13b7 f118f03 d3c13b7 542878f f118f03 542878f a1eed6b 542878f a1eed6b 542878f a1eed6b 542878f f118f03 d3c13b7 f118f03 542878f f118f03 542878f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
package main
import (
"fmt"
"log"
"github.com/gofiber/fiber/v2"
proxy "tebakaja_lb_proxy/proxy"
// Main Features
stock_proxy "tebakaja_lb_proxy/proxy/stock"
crypto_proxy "tebakaja_lb_proxy/proxy/crypto"
national_currency_proxy "tebakaja_lb_proxy/proxy/national_currency"
// Swagger
_ "tebakaja_lb_proxy/docs"
swagger "github.com/swaggo/fiber-swagger"
// Node Exporter
// exporter_proxy "tebakaja_lb_proxy/proxy/node_exporter"
)
// @title TebakAja
// @version 1.0
// @description TebakAja REST API Service
// @termsOfService https://swagger.io/terms/
// @contact.name Si Mimin
// @contact.url https://www.tebakaja.com
// @contact.email [email protected]
// @license.name Apache 2.0
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
// @host 192.168.137.1:7860
func main() {
proxyService := fiber.New()
proxyService.Use(proxy.LoggingMiddleware)
proxyService.Use(proxy.RateLimiterMiddleware())
stockGroup := proxyService.Group("/stock")
stockGroup.Get("/lists",
stock_proxy.StockListsHandler(
&stock_proxy.StockServiceImpl{}))
stockGroup.Post("/prediction",
stock_proxy.StockPredictionHandler(
&stock_proxy.StockServiceImpl{}))
cryptoGroup := proxyService.Group("/crypto")
cryptoGroup.Get("/lists",
crypto_proxy.CryptoListsHandler(
&crypto_proxy.CryptoServiceImpl{}))
cryptoGroup.Post("/prediction",
crypto_proxy.CryptoPredictionHandler(
&crypto_proxy.CryptoServiceImpl{}))
nationalCurrencyGroup := proxyService.Group("/national-currency")
nationalCurrencyGroup.Get("/lists",
national_currency_proxy.NationalCurrencyListsHandler(
&national_currency_proxy.NationalCurrencyServiceImpl{}))
nationalCurrencyGroup.Post("/prediction",
national_currency_proxy.NationalCurrencyPredictionHandler(
&national_currency_proxy.NationalCurrencyServiceImpl{}))
proxyService.Get("/swagger/*", swagger.WrapHandler)
proxyService.Get("/", func(c *fiber.Ctx) error {
return c.Redirect("/swagger/index.html", fiber.StatusMovedPermanently)
})
host := "0.0.0.0"
port := 7860
log.Fatal(proxyService.Listen(fmt.Sprintf("%s:%d", host, port)))
}
|