Skip to content

romanyx/recaptcha

Repository files navigation

GoDoc Build Status Go Report Card

recaptcha

Google's reCAPTCHA Golang implementation.

Install

To get the package, execute:

go get gopkg.in/romanyx/recaptcha.v1

To import this package, add the following line to your code:

import "gopkg.in/romanyx/recaptcha.v1"

Refer to it as recaptcha.

For more details, see the API documentation.

Example

package main

import (
	"fmt"

	"gopkg.in/romanyx/recaptcha.v1"
)

func main() {
	r := recaptcha.New("secret")
	res, err := r.Verify("response") // g-recaptcha-response parameter
	if err != nil {
		switch err {
		case recaptcha.ErrMissingInputSecret:
			fmt.Println(err)
		case recaptcha.ErrInvalidInputSecret:
			fmt.Println(err)
		case recaptcha.ErrMissingInputResponse:
			fmt.Println(err)
		case recaptcha.ErrInvalidInputResponse:
			fmt.Println(err)
		case recaptcha.ErrBadRequest:
			fmt.Println(err)
		case recaptcha.ErrUnsucceeded:
			// This triggers when response.Success is equal false.
			fmt.Println(err)
		default:
			fmt.Printf("unknown error: %s\n", err)
		}
	}

	// If err is equal to nil, then verification has been successed.
	if err == nil {
		fmt.Printf("%+v\n", res)
	}
}

Contributing

Please feel free to submit issues, fork the repository and send pull requests!