WWWShop/wwwshop/controller/controller.go

43 lines
957 B
Go

package usercontroller
import (
"net/http"
)
type IController interface {
POST(w http.ResponseWriter, r *http.Request)
GET(w http.ResponseWriter, r *http.Request)
DELETE(w http.ResponseWriter, r *http.Request)
}
type Controller struct {
IController IController
}
func GenerateController(controller IController) Controller {
return Controller { controller }
}
func (self Controller) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if r.Method == "POST" {
self.POST(w, r)
}
if r.Method == "GET" {
self.GET(w, r)
}
if r.Method == "DELETE" {
self.DELETE(w, r)
}
}
func (self Controller) POST(w http.ResponseWriter, r *http.Request) {
self.IController.POST(w, r)
}
func (self Controller) GET(w http.ResponseWriter, r *http.Request) {
self.IController.GET(w, r)
}
func (self Controller) DELETE(w http.ResponseWriter, r *http.Request) {
self.IController.DELETE(w, r)
}