Added comments for ICaptcha interface.
This commit is contained in:
parent
28ceae169b
commit
10167c4e17
@ -16,15 +16,33 @@ var errorNotFound = errors.New("captcha not found")
|
|||||||
|
|
||||||
type Answer string
|
type Answer string
|
||||||
|
|
||||||
|
// ICaptcha interface that should be implemented by captcha.
|
||||||
type ICaptcha interface {
|
type ICaptcha interface {
|
||||||
|
// generateImage is used to create a captcha image.
|
||||||
generateImage() *image.Image
|
generateImage() *image.Image
|
||||||
|
// GetImage() returns an image of captcha. Calls
|
||||||
|
// generateImage() method if image doesn't exist.
|
||||||
GetImage() *image.Image
|
GetImage() *image.Image
|
||||||
|
// GetAnswer returns a pregenerated answer.
|
||||||
GetAnswer() Answer
|
GetAnswer() Answer
|
||||||
|
// Solve compares a stored answer with a passed one.
|
||||||
|
// Sets field Solved to true if they are equal.
|
||||||
Solve(answer Answer) bool
|
Solve(answer Answer) bool
|
||||||
|
// IsSolved returns field IsSolved.
|
||||||
IsSolved() bool
|
IsSolved() bool
|
||||||
|
// Expiry returns a date after what captcha will expire.
|
||||||
Expiry() time.Time
|
Expiry() time.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Captcha is a base implementation of a CAPTCHA.
|
||||||
|
//
|
||||||
|
// All derivatives that embed this struct only need to
|
||||||
|
// implement GetImage() and generateImage() methods.
|
||||||
|
// And GetImage() could simply be copied.
|
||||||
|
//
|
||||||
|
// You need to do that because in Go there is no inheritance,
|
||||||
|
// and if you won't do that, calling a base GetImage
|
||||||
|
// method will call an empty base generateImage() method.
|
||||||
type Captcha struct {
|
type Captcha struct {
|
||||||
Image image.Image
|
Image image.Image
|
||||||
Answer Answer
|
Answer Answer
|
||||||
|
Loading…
Reference in New Issue
Block a user