validation.go
func ValidateIncomingRequest(host string, authToken string, req *http.Request) (err error) {
	err = req.ParseForm()
	if err != nil {
		return
	}
	err = validateIncomingRequest(host, authToken, req.URL.String(), req.Form, req.Header.Get("X-Twilio-Signature"))
	if err != nil {
		return
	}

	return
}
func ValidateIncomingRequest(host string, authToken string, req *http.Request) (err error) {
	err = req.ParseForm()
	if err != nil {
		return
	}
	err = validateIncomingRequest(host, authToken, req.URL.String(), req.Form, req.Header.Get("X-Twilio-Signature"))
	if err != nil {
		return
	}

	return
}
func ValidateIncomingRequest ( host string , authToken string , req * http . Request ) ( err error ) { err = req . ParseForm ( ) if err != nil { return } err = validateIncomingRequest ( host , authToken , req . URL . String ( ) , req . Form , req . Header . Get ( " " ) ) if err != nil { return } return }
// ValidateIncomingRequest returns an error if the incoming req could not be
// validated as coming from Twilio.
//
// This process is frequently error prone, especially if you are running behind
// a proxy, or Twilio is making requests with a port in the URL.
// See https://www.twilio.com/docs/security#validating-requests for more information
ValidateIncomingRequest returns an error if the incoming req could not be validated as coming from Twilio . This process is frequently error prone especially if you are running behind a proxy or Twilio is making requests with a port in the URL . See https : // www . twilio . com / docs / security#validating - requests for more information