aboutsummaryrefslogtreecommitdiff
path: root/recaptcha.go
diff options
context:
space:
mode:
authorFelix Hanley <felix@userspace.com.au>2016-01-18 10:06:16 +0000
committerFelix Hanley <felix@userspace.com.au>2016-01-18 10:06:16 +0000
commit961826fd7bc80bbbc356c216ca11ae9035a3f513 (patch)
tree98bc39f04565e1cd4b3e74222583f9851900374d /recaptcha.go
parentcf6be87a86673aa8cde10935c6558b33a962a90e (diff)
downloadgo-recaptcha-master.tar.gz
go-recaptcha-master.tar.bz2
Add fluffHEADmaster
Diffstat (limited to 'recaptcha.go')
-rw-r--r--recaptcha.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/recaptcha.go b/recaptcha.go
index a5b35c6..6d5f974 100644
--- a/recaptcha.go
+++ b/recaptcha.go
@@ -1,3 +1,4 @@
+// Package recaptcha interacts with the reCaptcha verification API
package recaptcha
import (
@@ -12,10 +13,10 @@ const (
)
var (
- ErrSecretMissing = errors.New("reCaptcha secret is missing.")
- ErrSecretInvalid = errors.New("reCaptcha secret is invalid.")
- ErrResponseMissing = errors.New("reCaptcha response is missing.")
- ErrResponseInvalid = errors.New("reCaptcha response is invalid.")
+ ErrSecretMissing = errors.New("The secret parameter is missing.")
+ ErrSecretInvalid = errors.New("The secret parameter is invalid or malformed.")
+ ErrResponseMissing = errors.New("The response parameter is missing.")
+ ErrResponseInvalid = errors.New("The response parameter is invalid or malformed.")
)
type Response struct {
@@ -49,13 +50,17 @@ func (r *Response) populateErrors() {
}
}
+// Public verfication function
+// It requires the reCaptcha secret, the response from the widget.
+// It returns the reCaptcha response as a struct.
func Verify(secret string, response string, remoteip string) (*Response, error) {
values := make(url.Values)
values.Set("secret", secret)
values.Set("response", response)
+ values.Set("remoteip", remoteip)
- resp, err := http.Get(verifyURL + "?" + values.Encode())
+ resp, err := http.PostForm(verifyURL, values)
if err != nil {
return nil, err