| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package main
- import (
- "fmt"
- "net/http"
- "encoding/json"
- )
- type User struct{
- Age int `json:"age"`
- Name string `json:"name"`
- Email string `json:"email"`
- }
- var setChan = make(chan User)
- func handle(w http.ResponseWriter, r *http.Request) {
- if r.Method != http.MethodPost {
- http.Error(w, "not", http.StatusMethodNotAllowed)
- return
- }
- var data User
- err := json.NewDecoder(r.Body).Decode(&data)
- if err != nil {
- http.Error(w,"no", http.StatusBadRequest)
- return
- }
- defer r.Body.Close()
-
- setChan <- data
- w.WriteHeader(http.StatusOK)
- w.Write([]byte("Data received"))
- }
- func WatchChanell() {
- for u := range setChan {
- JsonData, err := json.Marshal(u)
- if err != nil { continue }
- fmt.Println(string(JsonData))
- }
- }
- func main() {
- go WatchChanell()
- http.HandleFunc("/user", handle)
- fmt.Println(":7777")
- err := http.ListenAndServe(":7777", nil)
- if err != nil {
- panic(err)
- }
- }
|