aboutsummaryrefslogtreecommitdiff
path: root/resource.go
diff options
context:
space:
mode:
Diffstat (limited to 'resource.go')
-rw-r--r--resource.go49
1 files changed, 26 insertions, 23 deletions
diff --git a/resource.go b/resource.go
index b38cbca..ab54a94 100644
--- a/resource.go
+++ b/resource.go
@@ -1,28 +1,31 @@
package acme
-type ResourceValue interface {
- Value() string
-}
+type Resource int
-type NewReg struct {
- Contact []string `json:"contact"`
-}
+const (
+ ResNewReg Resource = iota
+ ResRecoverReg
+ ResNewAuthz
+ ResNewCert
+ ResRevoceCert
+ ResRegister
+ ResAuthz
+ ResChallenge
+ ResCert
+)
-type RecoverReg struct{}
-type NewAuthz struct{}
-type NewCert struct{}
-type RevokeCert struct{}
-type Register struct{}
-type Authz struct{}
-type Challenge struct{}
-type Cert struct{}
+var resources = map[Resource]string{
+ ResNewReg: "new-reg",
+ ResRecoverReg: "recover-reg",
+ ResNewAuthz: "new-authz",
+ ResNewCert: "new-cert",
+ ResRevoceCert: "revoke-cert",
+ ResRegister: "reg",
+ ResAuthz: "authz",
+ ResChallenge: "challenge",
+ ResCert: "cert",
+}
-func (NewReg) Value() string { return "new-reg" }
-func (RecoverReg) Value() string { return "recover-reg" }
-func (NewAuthz) Value() string { return "new-authz" }
-func (NewCert) Value() string { return "new-cert" }
-func (RevokeCert) Value() string { return "revoke-cert" }
-func (Register) Value() string { return "reg" }
-func (Authz) Value() string { return "authz" }
-func (Challenge) Value() string { return "challenge" }
-func (Cert) Value() string { return "cert" }
+func (r Resource) MarshalText() ([]byte, error) {
+ return []byte(resources[r]), nil
+}