You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.8 KiB
Go

package main
import (
"net/http"
shrty "github.com/kreativmonkey/shrt/shrty"
"log"
"fmt"
)
const version = "0.03"
var (
short *shrty.Storage
// Global configuration Variable
config = ReadConfig()
)
func init() {
var err error
short, err = shrty.Open(config.DB)
if err != nil {
panic(err)
}
/*
viper.SetDefault("ContentDir", "content")
viper.SetDefault("Token", map[string]string{"url": "url", "token": "token"})
viper.SetConfigName("config") // name of config file (without expression)
viper.AddConfigPath("/etc/appname/") // path to look for the config file in
viper.AddConfigPath("$HOME/.appname") // call multiple times to add many search paths
viper.AddConfigPath(".") // optionally look for config in the working directory
err = viper.ReadInConfig() // Find and read the config file
if err != nil { // Handle errors reading the config file
panic(fmt.Errorf("Fatal error config file: %s \n", err))
}*/
}
type shrt struct {
Token string `bson:"token" json:"token"`
URL string `bson:"url" json:"url"`
Date string `bson:"url_ending" json:"url_ending"`
Count int64 `bson:"click" json:"click"`
}
func main() {
router := NewRouter()
s := http.StripPrefix("/css/", http.FileServer(http.Dir("./template/css/")))
router.PathPrefix("/css/").Handler(s)
s = http.StripPrefix("/img/", http.FileServer(http.Dir("./template/img/")))
router.PathPrefix("/img/").Handler(s)
/*
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("template/css"))))
http.Handle("/img/", http.StripPrefix("/img/", http.FileServer(http.Dir("template/img"))))
*/
fmt.Printf("Shrty %s is listen on Port: %s \n", version, config.Port)
fmt.Printf("For the API use following key: %s \n", version, config.APIkey)
http.Handle("/", router)
log.Fatal(http.ListenAndServe(":"+ config.Port, router))
}