Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "net/http"
- "time"
- "database/sql"
- "log"
- "strconv"
- "github.com/gorilla/mux"
- _ "github.com/mattn/go-sqlite3"
- )
- type Server struct {
- name string
- id int
- }
- type User struct {
- username string
- userid int
- usercolor string
- }
- func HomeHandler(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintf(w, "HomeHandler")
- }
- func RegisterHandler(w http.ResponseWriter, r *http.Request) {
- // Registers a new user
- fmt.Fprintf(w, "RegisterHandler")
- fmt.Println(w, "RegisterHandler")
- }
- func ServersHandler(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintf(w, "ServersHandler")
- }
- func CreateServersHandler(w http.ResponseWriter, r *http.Request) {
- vars := mux.Vars(r)
- vars["serverName"] // the book title slug
- vars["serverIP"] // the page
- database, _ := sql.Open("sqlite3", "./chattter-tracker.db")
- statement, _ := database.Prepare("CREATE TABLE IF NOT EXISTS server (id INTEGER PRIMARY KEY, serverName TEXT, serverIP TEXT)")
- statement.Exec()
- statement, _ = database.Prepare("INSERT INTO server (serverName, serverIP) VALUES (?, ?)")
- statement.Exec("Nic", "Raboy")
- rows, _ := database.Query("SELECT id, serverName, serverIP FROM server")
- var id int
- var serverName string
- var serverIP string
- for rows.Next() {
- rows.Scan(&id, &serverName, &serverIP)
- fmt.Println(strconv.Itoa(id) + ": " + serverName + " " + serverIP)
- }
- fmt.Fprintf(w, "CreateServersHandler")
- }
- func ServerInstanceHandler(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintf(w, "ServerInstanceHandler")
- }
- func DeleteServerInstanceHandler(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintf(w, "DeleteServerInstanceHandler")
- }
- const GETALL string = "GETALL"
- const GETONE string = "GETONE"
- const POST string = "POST"
- const PUT string = "PUT"
- const DELETE string = "DELETE"
- func main() {
- r := mux.NewRouter()
- // Show some type of landing page
- r.HandleFunc("/", HomeHandler).Methods("GET")
- // Display a list of servers, maybe rank them
- r.HandleFunc("/servers", ServersHandler).Methods("GET")
- // Register a new server with tracker
- r.HandleFunc("/servers/{serverName}/{serverIP}", CreateServersHandler).Methods("PUT")
- // err := r.Walk(func(route *mux.Route, router *mux.Router, ancestors []*mux.Route) error {
- // pathTemplate, err := route.GetPathTemplate()
- // if err == nil {
- // fmt.Println(chalk.Green, "ROUTE:", pathTemplate)
- // }
- // pathRegexp, err := route.GetPathRegexp()
- // if err == nil {
- // fmt.Println(chalk.Cyan, "Path regexp:", pathRegexp)
- // }
- // queriesTemplates, err := route.GetQueriesTemplates()
- // if err == nil {
- // fmt.Println(chalk.Magenta, "Queries templates:", strings.Join(queriesTemplates, ","))
- // }
- // queriesRegexps, err := route.GetQueriesRegexp()
- // if err == nil {
- // fmt.Println(chalk.Blue, "Queries regexps:", strings.Join(queriesRegexps, ","))
- // }
- // methods, err := route.GetMethods()
- // if err == nil {
- // fmt.Println(chalk.White, "Methods:", strings.Join(methods, ","))
- // }
- // fmt.Println()
- // return nil
- // })
- // if err != nil {
- // fmt.Println(err)
- // }
- http.Handle("/", r)
- srv := &http.Server{
- Handler: r,
- Addr: "127.0.0.1:8000",
- WriteTimeout: 15 * time.Second,
- ReadTimeout: 15 * time.Second,
- }
- log.Fatal(srv.ListenAndServe())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement