forked from tcp.direct/tcp.ac
1
0
Fork 0
tcp.ac/router.go

109 lines
2.1 KiB
Go
Raw Normal View History

2020-12-12 08:32:18 +00:00
package main
import (
"gopkg.in/natefinch/lumberjack.v2"
"github.com/prologic/bitcask"
2020-12-12 15:24:45 +00:00
"github.com/gin-gonic/gin"
2020-12-12 08:32:18 +00:00
"fmt"
"log"
)
var imgDB *bitcask.Bitcask
var hashDB *bitcask.Bitcask
var keyDB *bitcask.Bitcask
var urlDB *bitcask.Bitcask
var txtDB *bitcask.Bitcask
2020-12-12 08:32:18 +00:00
var errLog *log.Logger
var baseUrl string = "http://127.0.0.1:8081/"
2020-12-12 08:32:18 +00:00
var debugBool bool = true
2020-12-12 15:24:45 +00:00
func errThrow(c *gin.Context, respcode int, Error string, msg string) {
errLog.Println(c.ClientIP() + ": " + Error)
2020-12-12 08:32:18 +00:00
if debugBool {
2020-12-12 15:24:45 +00:00
c.String(respcode, msg)
2020-12-12 08:32:18 +00:00
}
}
2020-12-12 15:24:45 +00:00
//////////////////////////////////////////////////////
func txtPost(c *gin.Context) {
return
}
2020-12-12 08:32:18 +00:00
2020-12-12 15:24:45 +00:00
//////////////////////////////////////////////////////
func urlPost(c *gin.Context) {
return
}
//////////////////////////////////////////////////////
2020-12-12 15:24:45 +00:00
func init() {
fmt.Println("Initializing...")
//////////// init logging ////////////
fmt.Println("Starting error logger")
Logger := &lumberjack.Logger{
2020-12-12 15:24:45 +00:00
Filename: "error.log",
MaxSize: 50, // megabytes
MaxBackups: 8,
MaxAge: 28, // days
Compress: true,
}
errLog = log.New(Logger, "", log.Ldate|log.Ltime|log.Lshortfile)
/////////////////////////////////////
/////////// init databases //////////
opts := []bitcask.Option {
bitcask.WithMaxValueSize(24 / 1024 / 1024),
}
keyDB, _ = bitcask.Open("./data/key", opts...)
fmt.Println("Initializing key database")
imgDB, _ = bitcask.Open("./data/img", opts...)
fmt.Println("Initializing img database")
hashDB, _ = bitcask.Open("./data/hsh", opts...) // this will probably only be for images
fmt.Println("Initializing md5 database")
2020-12-16 08:01:46 +00:00
txtDB, _ = bitcask.Open("./data/txt")
fmt.Println("Initializing txt database")
urlDB, _ = bitcask.Open("./data/url")
fmt.Println("Initializing url database")
////////////////////////////////////
2020-12-12 15:24:45 +00:00
}
2020-12-12 08:32:18 +00:00
2020-12-12 08:32:18 +00:00
func main() {
2020-12-12 15:24:45 +00:00
router := gin.Default()
2020-12-12 08:32:18 +00:00
router.MaxMultipartMemory = 16 << 20
2020-12-12 15:24:45 +00:00
imgR := router.Group("/i")
{
imgR.POST("/put", imgPost)
imgR.GET("/:uid", imgView)
2020-12-12 15:24:45 +00:00
}
2020-12-12 08:32:18 +00:00
delR := router.Group("/d")
{
delR.GET("/i/:key", imgDel)
}
2020-12-12 15:24:45 +00:00
txtR := router.Group("/t")
{
txtR.POST("/put", txtPost)
}
urlR := router.Group("/u")
{
urlR.POST("/put", urlPost)
}
2020-12-12 08:32:18 +00:00
2020-12-12 15:24:45 +00:00
router.Run(":8081")
2020-12-12 08:32:18 +00:00
}