package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"github.com/gorilla/handlers"
"github.com/gorilla/mux"
"gopkg.in/mgo.v2"
)
type DataIg struct {
Member string `json:"Member"`
Timestamp float64 `json:"Timestamp"`
Name string `json:"Name"`
Bid string `json:"Bid"`
Offer string`json:"Offer"`
Change string `json:"Change"`
Hour string `json:"Hour"`
}
type Response struct {
Status string
}
var session *mgo.Session
var c *mgo.Collection
func postData(w http.ResponseWriter, r *http.Request) {
var response = Response{}
response.Status = "ok"
var reception = DataIg{}
err := c.Insert(reception)
body, err := ioutil.ReadAll(r.Body)
if err != nil {
panic(err)
}
err = json.Unmarshal(body, &reception)
fmt.Println(reception)
js, err := json.Marshal(response)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
w.Write(js)
}
var appName = "accountservice"
func main() {
session, _ := mgo.Dial("mongodb://toto:titib@56.39.92.666:27017/")
session.SetMode(mgo.Monotonic, true)
c = session.DB("database").C("igData")
fmt.Printf("Starting %v\n", appName)
router := mux.NewRouter()
router.HandleFunc("/postData", postData).Methods("POST")
corsObj := handlers.AllowedOrigins([]string{"*"})
http.ListenAndServe(":8066", handlers.CORS(corsObj)(router))
defer session.Close()
}
我正在努力使
session
c
)在其他函数中使用它们,而不是
PostData
.
但我有一个:
解引用[信号SIGSEGV:分段冲突代码=0x1地址=0x0
pc=0x683587]
会话:=mgo拨号("mongodb://toto:titib@56.39.92.666:27017/")
当做