code: func ParseRequest(channelSecret string, r *http.Request) ([]*Event, error) {
  	defer r.Body.Close()
  	body, err := ioutil.ReadAll(r.Body)
  	if err != nil {
  		return nil, err
  	}
  	if !validateSignature(channelSecret, r.Header.Get("X-Line-Signature"), body) {
  		return nil, ErrInvalidSignature
  	}
  
  	request := &struct {
  		Events []*Event `json:"events"`
  	}{}
  	if err = json.Unmarshal(body, request); err != nil {
  		return nil, err
  	}
  	return request.Events, nil
  }
docs: // ParseRequest func