Skip to content

Commit

Permalink
Upgrade to the new dnsimple-go event implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
weppos committed Jun 21, 2019
1 parent 7471dc6 commit 930bc13
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 47 deletions.
18 changes: 10 additions & 8 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,26 @@ module github.com/dnsimple/strillone
require (
cloud.google.com/go v0.40.0 // indirect
github.com/bluele/slack v0.0.0-20180528010058-b4b4d354a079
github.com/dnsimple/dnsimple-go v0.23.1-0.20190611141623-a2c832376942
github.com/dnsimple/dnsimple-go v0.23.1-0.20190621101041-59e7cec32e5d
github.com/golang/mock v1.3.1 // indirect
github.com/google/btree v1.0.0 // indirect
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f // indirect
github.com/googleapis/gax-go/v2 v2.0.5 // indirect
github.com/julienschmidt/httprouter v1.2.0
github.com/kr/pty v1.1.4 // indirect
github.com/kr/pty v1.1.5 // indirect
github.com/wunderlist/ttlcache v0.0.0-20180801091818-7dbceb0d5094
go.opencensus.io v0.22.0 // indirect
golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443 // indirect
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522 // indirect
golang.org/x/image v0.0.0-20190523035834-f03afa92d3ff // indirect
golang.org/x/image v0.0.0-20190618124811-92942e4437e2 // indirect
golang.org/x/mobile v0.0.0-20190607214518-6fa95d984e88 // indirect
golang.org/x/mod v0.1.0 // indirect
golang.org/x/net v0.0.0-20190611141213-3f473d35a33a // indirect
golang.org/x/sys v0.0.0-20190610200419-93c9922d18ae // indirect
golang.org/x/net v0.0.0-20190620200207-3b0461eec859 // indirect
golang.org/x/sys v0.0.0-20190621062556-bf70e4678053 // indirect
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
golang.org/x/tools v0.0.0-20190610231749-f8d1dee965f7 // indirect
golang.org/x/tools v0.0.0-20190620191750-1fa568393b23 // indirect
google.golang.org/appengine v1.6.1 // indirect
google.golang.org/genproto v0.0.0-20190605220351-eb0b1bdb6ae6 // indirect
google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601 // indirect
google.golang.org/grpc v1.21.1 // indirect
honnef.co/go/tools v0.0.0-20190607181801-497c8f037f5a // indirect
honnef.co/go/tools v0.0.0-20190614002413-cb51c254f01b // indirect
)
11 changes: 11 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ github.com/dnsimple/dnsimple-go v0.23.0 h1:HGHL2ShLGSLsPIGGhA6940uT70lTrqoClYbaz
github.com/dnsimple/dnsimple-go v0.23.0/go.mod h1:0FYu4qVNv/UcfZPNwa9zi68IkggJu3TIwM54D7rhmI4=
github.com/dnsimple/dnsimple-go v0.23.1-0.20190611141623-a2c832376942 h1:CxrN5KV9tYMZzuwIfFPOpohepBy5XBMTXAmyQSdf1ys=
github.com/dnsimple/dnsimple-go v0.23.1-0.20190611141623-a2c832376942/go.mod h1:O5TJ0/U6r7AfT8niYNlmohpLbCSG+c71tQlGr9SeGrg=
github.com/dnsimple/dnsimple-go v0.23.1-0.20190621101041-59e7cec32e5d h1:Zzr3mpN+/7WMJOk2wjPOcSIoC7N0M5bHE3B27IwQ/cY=
github.com/dnsimple/dnsimple-go v0.23.1-0.20190621101041-59e7cec32e5d/go.mod h1:O5TJ0/U6r7AfT8niYNlmohpLbCSG+c71tQlGr9SeGrg=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
Expand All @@ -30,6 +32,7 @@ github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OI
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
Expand All @@ -39,6 +42,7 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/wunderlist/ttlcache v0.0.0-20180801091818-7dbceb0d5094 h1:SKfd0IzhLdnCU0v/Qj7inYUUejGdFP2/24mB9DXT/G8=
Expand All @@ -48,11 +52,13 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190523035834-f03afa92d3ff/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190618124811-92942e4437e2/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
Expand All @@ -73,6 +79,7 @@ golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
Expand All @@ -90,6 +97,7 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190610200419-93c9922d18ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190621062556-bf70e4678053/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
Expand All @@ -106,6 +114,7 @@ golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBn
golang.org/x/tools v0.0.0-20190530171427-2b03ca6e44eb/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190610231749-f8d1dee965f7/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190620191750-1fa568393b23/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.6.0/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
Expand All @@ -120,6 +129,7 @@ google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRn
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
google.golang.org/genproto v0.0.0-20190605220351-eb0b1bdb6ae6/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
Expand All @@ -129,4 +139,5 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190607181801-497c8f037f5a/go.mod h1:JlmFZigtG9vBVR3QGIQ9g/Usz4BzH+Xm6Z8iHQWRYUw=
honnef.co/go/tools v0.0.0-20190614002413-cb51c254f01b/go.mod h1:JlmFZigtG9vBVR3QGIQ9g/Usz4BzH+Xm6Z8iHQWRYUw=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
63 changes: 31 additions & 32 deletions message.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,39 +8,38 @@ import (
)

// Message formats the event into a text message suitable for being sent to a messaging service.
func Message(s MessagingService, e webhook.Event) (text string) {
header := e.GetEventHeader()
account := header.Account
prefix := fmt.Sprintf("[%v] %v", s.FormatLink(account.Display, fmtURL("/a/%d/account", account.ID)), header.Actor.Pretty)
func Message(s MessagingService, e *webhook.Event) (text string) {
account := e.Account
prefix := fmt.Sprintf("[%v] %v", s.FormatLink(account.Display, fmtURL("/a/%d/account", account.ID)), e.Actor.Pretty)

switch event := e.(type) {
case *webhook.CertificateEvent:
certificate := event.Certificate
switch data := e.GetData().(type) {
case *webhook.CertificateEventData:
certificate := data.Certificate
certificateDisplay := certificate.CommonName
certificateLink := s.FormatLink(certificateDisplay, fmtURL("/a/%d/domains/%d/certificates/%d", account.ID, certificate.DomainID, certificate.ID))
switch event.Name {
switch e.Name {
case "certificate.remove_private_key":
text = fmt.Sprintf("%s deleted the private key for the certificate %s", prefix, certificateLink)
default:
text = fmt.Sprintf("%s performed %s", prefix, event.GetEventName())
text = fmt.Sprintf("%s performed %s", prefix, e.Name)
}
case *webhook.ContactEvent:
contactDisplay := fmt.Sprintf("%s %s", event.Contact.FirstName, event.Contact.LastName)
contactLink := s.FormatLink(contactDisplay, fmtURL("/a/%d/contacts/%d", account.ID, event.Contact.ID))
switch event.Name {
case *webhook.ContactEventData:
contactDisplay := fmt.Sprintf("%s %s", data.Contact.FirstName, data.Contact.LastName)
contactLink := s.FormatLink(contactDisplay, fmtURL("/a/%d/contacts/%d", account.ID, data.Contact.ID))
switch e.Name {
case "contact.create":
text = fmt.Sprintf("%s created the contact %s", prefix, contactLink)
case "contact.update":
text = fmt.Sprintf("%s update the contact %s", prefix, contactLink)
case "contact.delete":
text = fmt.Sprintf("%s deleted the contact %s", prefix, contactLink)
default:
text = fmt.Sprintf("%s performed %s", prefix, event.GetEventName())
text = fmt.Sprintf("%s performed %s", prefix, e.Name)
}
case *webhook.DomainEvent:
domainDisplay := event.Domain.Name
domainLink := s.FormatLink(domainDisplay, fmtURL("/a/%d/domains/%s", account.ID, event.Domain.Name))
switch event.Name {
case *webhook.DomainEventData:
domainDisplay := data.Domain.Name
domainLink := s.FormatLink(domainDisplay, fmtURL("/a/%d/domains/%s", account.ID, data.Domain.Name))
switch e.Name {
case "domain.auto_renewal_enable":
text = fmt.Sprintf("%s enabled auto-renewal for the domain %s", prefix, domainLink)
case "domain.auto_renewal_disable":
Expand All @@ -54,10 +53,10 @@ func Message(s MessagingService, e webhook.Event) (text string) {
case "domain.renew":
text = fmt.Sprintf("%s renewed the domain %s", prefix, domainLink)
case "domain.delegation_change":
servers := strings.Join(*event.Delegation, ", ")
servers := strings.Join(*data.Delegation, ", ")
text = fmt.Sprintf("%s changed the delegation for the domain %s to %s", prefix, domainLink, servers)
case "domain.registrant_change":
registrant := event.Registrant.Label
registrant := data.Registrant.Label
text = fmt.Sprintf("%s changed the registrant for the domain %s to %s", prefix, domainLink, registrant)
case "domain.resolution_enable":
text = fmt.Sprintf("%s enabled resolution for the domain %s", prefix, domainLink)
Expand All @@ -68,37 +67,37 @@ func Message(s MessagingService, e webhook.Event) (text string) {
case "domain.transfer":
text = fmt.Sprintf("%s transferred the domain %s", prefix, domainLink)
default:
text = fmt.Sprintf("%s performed %s on domain %s", prefix, event.Name, domainLink)
text = fmt.Sprintf("%s performed %s on domain %s", prefix, e.Name, domainLink)
}
case *webhook.ZoneRecordEvent:
zoneRecordDisplay := fmt.Sprintf("%s %s.%s %s", event.ZoneRecord.Type, event.ZoneRecord.Name, event.ZoneRecord.ZoneID, event.ZoneRecord.Content)
zoneRecordLink := s.FormatLink(zoneRecordDisplay, fmtURL("/a/%d/domains/%s/records/%d", account.ID, event.ZoneRecord.ZoneID, event.ZoneRecord.ID))
switch event.Name {
case *webhook.ZoneRecordEventData:
zoneRecordDisplay := fmt.Sprintf("%s %s.%s %s", data.ZoneRecord.Type, data.ZoneRecord.Name, data.ZoneRecord.ZoneID, data.ZoneRecord.Content)
zoneRecordLink := s.FormatLink(zoneRecordDisplay, fmtURL("/a/%d/domains/%s/records/%d", account.ID, data.ZoneRecord.ZoneID, data.ZoneRecord.ID))
switch e.Name {
case "zone_record.create":
text = fmt.Sprintf("%s created the record %s", prefix, zoneRecordLink)
case "zone_record.update":
text = fmt.Sprintf("%s updated the record %s", prefix, zoneRecordLink)
case "zone_record.delete":
text = fmt.Sprintf("%s deleted the record %s", prefix, zoneRecordLink)
}
case *webhook.WebhookEvent:
webhookDisplay := event.Webhook.URL
webhookLink := s.FormatLink(webhookDisplay, fmtURL("/a/%d/webhooks/%d", account.ID, event.Webhook.ID))
switch event.Name {
case *webhook.WebhookEventData:
webhookDisplay := data.Webhook.URL
webhookLink := s.FormatLink(webhookDisplay, fmtURL("/a/%d/webhooks/%d", account.ID, data.Webhook.ID))
switch e.Name {
case "webhook.create":
text = fmt.Sprintf("%s created the webhook %s", prefix, webhookLink)
case "webhook.delete":
text = fmt.Sprintf("%s deleted the webhook %s", prefix, webhookLink)
}
default:
text = fmt.Sprintf("%s performed %s", prefix, event.GetEventName())
text = fmt.Sprintf("%s performed %s", prefix, e.Name)
}

return
}

func eventRequestID(event webhook.Event) string {
return event.GetEventHeader().RequestID
func eventRequestID(e *webhook.Event) string {
return e.RequestID
}

func fmtURL(path string, a ...interface{}) string {
Expand Down
8 changes: 4 additions & 4 deletions server.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,17 +95,17 @@ func (s *Server) Slack(w http.ResponseWriter, r *http.Request, params httprouter
return
}

event, err := webhook.Parse(data)
event, err := webhook.ParseEvent(data)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
log.Printf("Error parsing event: %v\n", err)
return
}

// Check if the event was already processed
_, cacheExists := processedEvents.Get(event.GetEventHeader().RequestID)
_, cacheExists := processedEvents.Get(event.RequestID)
if cacheExists {
log.Printf("Skipping event %v as already processed\n", event.GetEventHeader().RequestID)
log.Printf("Skipping event %v as already processed\n", event.RequestID)
w.Header().Set(headerProcessingStatus, "skipped;already-processed")
w.WriteHeader(http.StatusOK)
return
Expand All @@ -122,7 +122,7 @@ func (s *Server) Slack(w http.ResponseWriter, r *http.Request, params httprouter
return
}

processedEvents.Set(event.GetEventHeader().RequestID, event.GetEventHeader().RequestID)
processedEvents.Set(event.RequestID, event.RequestID)

fmt.Fprintln(w, text)
}
6 changes: 3 additions & 3 deletions service.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
// Some examples are Slack, HipChat, and Campfire.
type MessagingService interface {
FormatLink(name, url string) string
PostEvent(event webhook.Event) (string, error)
PostEvent(event *webhook.Event) (string, error)
}

// SlackService represents the Slack message service.
Expand All @@ -31,7 +31,7 @@ func (s *SlackService) FormatMessage(message string) string {
}

// PostEvent implements MessagingService
func (s *SlackService) PostEvent(event webhook.Event) (string, error) {
func (s *SlackService) PostEvent(event *webhook.Event) (string, error) {
eventID := eventRequestID(event)
text := Message(s, event)

Expand All @@ -56,7 +56,7 @@ func (s *SlackService) PostEvent(event webhook.Event) (string, error) {
Color: "good",
Fields: []*slack.AttachmentField{
{
Title: event.GetEventName(),
Title: event.Name,
Value: text,
},
},
Expand Down

0 comments on commit 930bc13

Please sign in to comment.