Skip to content

Commit

Permalink
[OS-2728] middleware: adding to subscriptions (#104)
Browse files Browse the repository at this point in the history
* middleware: adding to subscriptions

* middleware: adding space

* middleware: camunda rename

* middleware: file name change

* middleware: update readme

Co-authored-by: shane <shane.harding@blacklane.com>
  • Loading branch information
shruthiMaganahalli and shane-blacklane committed Feb 18, 2022
1 parent 238c650 commit 2a2c9f4
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 1 deletion.
18 changes: 17 additions & 1 deletion middleware/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ TODO: write the readme
go get -u github.com/blacklane/go-libs/middleware
```

## Retry: getting Started
## Retry: Getting Started

`retry` is a middleware which for x/events. It will retry with exponential back-off algorithm until it exceeds max retry, which is passed by argument to `middleware.Retry`.

Expand Down Expand Up @@ -37,3 +37,19 @@ func (h Handler) Handle(ctx context.Context, e events.Event) error {
return nil
}
```

## Camunda Subscription Handler: Getting Started

The Camunda subscription handler is a middleware which allows the injection of the `context` from the service in ot the Camunda subscription handler.

```go
func CamundaSubscriptionsAddLogger(log logger.Logger) func(camunda.TaskHandler) camunda.TaskHandler {
return func(next camunda.TaskHandler) camunda.TaskHandler {
return camunda.TaskHandlerFunc(func(ctx context.Context, completeFunc camunda.TaskCompleteFunc, t camunda.Task) {
log = log.With().Logger()
context := log.WithContext(ctx)
next.Handle(context, completeFunc, t)
})
}
}
```
27 changes: 27 additions & 0 deletions middleware/camunda_subscription_example_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package middleware_test

import (
"context"

"github.com/blacklane/go-libs/camunda/v2"
"github.com/blacklane/go-libs/logger"
"github.com/blacklane/go-libs/middleware"
)

func ExamplesSubscriptions() {
log := logger.New(prettyJSONWriter{}, "ExampleEvents")

handler := camunda.TaskHandlerFunc(func(ctx context.Context, completeFunc camunda.TaskCompleteFunc, t camunda.Task) {
l := logger.FromContext(ctx)
l.Info().Msg("always logged")
})

h := middleware.CamundaSubscriptionsAddLogger(log)(handler)

completeHandler := camunda.TaskCompleteFunc(func(ctx context.Context, taskID string) error {
return nil
})
t := camunda.Task{}

h.Handle(context.Background(), completeHandler, t)
}
18 changes: 18 additions & 0 deletions middleware/camunda_subscriptions.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package middleware

import (
"context"

"github.com/blacklane/go-libs/camunda/v2"
"github.com/blacklane/go-libs/logger"
)

func CamundaSubscriptionsAddLogger(log logger.Logger) func(camunda.TaskHandler) camunda.TaskHandler {
return func(next camunda.TaskHandler) camunda.TaskHandler {
return camunda.TaskHandlerFunc(func(ctx context.Context, completeFunc camunda.TaskCompleteFunc, t camunda.Task) {
log = log.With().Logger()
context := log.WithContext(ctx)
next.Handle(context, completeFunc, t)
})
}
}
1 change: 1 addition & 0 deletions middleware/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ go 1.17

require (
github.com/blacklane/go-libs/logger v0.6.0
github.com/blacklane/go-libs/camunda/v2 v2.0.0-20220208132721-238c65053cf6
github.com/blacklane/go-libs/otel v0.1.0
github.com/blacklane/go-libs/tracking v0.3.0
github.com/blacklane/go-libs/x/events v0.2.0
Expand Down
11 changes: 11 additions & 0 deletions middleware/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,22 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/blacklane/go-libs/camunda v1.0.1-0.20220131141610-68e3245c5ad5 h1:oJLo9iWJ4pSa/rbXkT2HCyNydQMFPv0+34zzUHvgLHY=
github.com/blacklane/go-libs/camunda v1.0.1-0.20220131141610-68e3245c5ad5/go.mod h1:BwtRE97ikA9bd4cyxMQwxpDVOBOv7XEHKKnkNrHE8Bk=
github.com/blacklane/go-libs/camunda/v2 v2.0.0-20220208132721-238c65053cf6 h1:fLxza2+mjgYNPWofJrbqQ/FSCPe1B1XbmWNeY/C9n1Y=
github.com/blacklane/go-libs/camunda/v2 v2.0.0-20220208132721-238c65053cf6/go.mod h1:bayic9jspfUZkraKtzze6TOYJJOYayatjaAcNIrm4Oc=
github.com/blacklane/go-libs/logger v0.5.1/go.mod h1:y6b3vg6DXd2LHdqUZ5KIkqcHj9pl64eYx0PVbBo4Osw=
github.com/blacklane/go-libs/logger v0.6.0 h1:SG+rsiYTxb1JkL2g0BOZphYA9HqZY222UlSu6OvcXrc=
github.com/blacklane/go-libs/logger v0.6.0/go.mod h1:DL3ZJKe5u2ogG6FFnicjyw6lOBY9CoA1obl7KbAJztw=
github.com/blacklane/go-libs/otel v0.1.0 h1:Vctb1Whv7nr2biaDBe8KOZT/ISSnihiOiHexKQLhCpM=
github.com/blacklane/go-libs/otel v0.1.0/go.mod h1:Iun1zfQbWWG1dY0f+uGgC79p7eKfgXfukM0xuTYU9aY=
github.com/blacklane/go-libs/tracking v0.0.1/go.mod h1:mnDJmT2e0oqtVY5qoQNSrdP5kPMe/XOpNQ3WeVNiM7U=
github.com/blacklane/go-libs/tracking v0.3.0 h1:5i15OUGx/ic3OkmQbTekBTt022JalmCk61a984WjJvQ=
github.com/blacklane/go-libs/tracking v0.3.0/go.mod h1:dnAkF4VXm3e2kU0gQaiDh+jEJqs/IX3I0Hc7RKYoHZw=
github.com/blacklane/go-libs/x/events v0.0.0-20200729083625-bff51d3ec664/go.mod h1:9XVqU/pwOlbeFpSzzFIGm+iSWXmIYiTJyvOL38XoIzQ=
github.com/blacklane/go-libs/x/events v0.2.0 h1:whwo2Pl9uXcTe6W+x3SIbOo+8BzcARCzl+QTdwgYRVQ=
github.com/blacklane/go-libs/x/events v0.2.0/go.mod h1:lM0yg2m3azl5C7y1P3oQp2mu7V0TXkRjrXCE5woSZa8=
github.com/caarlos0/env v3.5.0+incompatible/go.mod h1:tdCsowwCzMLdkqRYDlHpZCp2UooDD3MspDBjZ2AD02Y=
github.com/cenkalti/backoff/v4 v4.1.1 h1:G2HAfAmvm/GcKan2oOQpBXOd2tT2G57ZnZGWa1PxPBQ=
github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
Expand Down Expand Up @@ -158,19 +166,22 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/rs/zerolog v1.18.0/go.mod h1:9nvC1axdVrAHcu/s9taAVfBuIdTZLVQmKQyvrUjF5+I=
github.com/rs/zerolog v1.20.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJRjo=
github.com/rs/zerolog v1.26.0 h1:ORM4ibhEZeTeQlCojCK2kPz1ogAY4bGs4tD+SaAdGaE=
github.com/rs/zerolog v1.26.0/go.mod h1:yBiM87lvSqX8h0Ww4sdzNSkVYZ8dL2xjZJG1lAuGZEo=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
Expand Down

0 comments on commit 2a2c9f4

Please sign in to comment.