code: func (c *Client) ServeHTTP(w http.ResponseWriter, r *http.Request) {
  	if r.Method != "POST" {
  		log.Println("invalid " + r.Method + " connection from " + r.RemoteAddr)
  		http.NotFound(w, r)
  		return
  	}
  	msg := IMessage{}
  	err := r.ParseForm()
  	if err != nil {
  		log.Println(err)
  		http.NotFound(w, r)
  		return
  	}
  	defer r.Body.Close()
  	decoder := schema.NewDecoder()
  	err = decoder.Decode(&msg, r.PostForm)
  	if err != nil {
  		log.Println(err)
  		http.NotFound(w, r)
  		return
  	}
  	if msg.Token == "" {
  		log.Println("no token from " + r.RemoteAddr)
  		http.NotFound(w, r)
  		return
  	}
  	if c.Token != "" {
  		if msg.Token != c.Token {
  			log.Println("invalid token " + msg.Token + " from " + r.RemoteAddr)
  			http.NotFound(w, r)
  			return
  		}
  	}
  	c.In <- msg
  }
docs: // ServeHTTP implementation.