mirror of https://github.com/dapr/quickstarts.git
44 lines
871 B
Go
44 lines
871 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"log"
|
|
"net/http"
|
|
"os"
|
|
|
|
"github.com/dapr/go-sdk/service/common"
|
|
daprd "github.com/dapr/go-sdk/service/http"
|
|
)
|
|
|
|
var sub = &common.Subscription{
|
|
PubsubName: "orderpubsub",
|
|
Topic: "orders",
|
|
Route: "/orders",
|
|
}
|
|
|
|
func main() {
|
|
appPort := os.Getenv("APP_PORT")
|
|
if appPort == "" {
|
|
appPort = "6005"
|
|
}
|
|
|
|
// Create the new server on appPort and add a topic listener
|
|
s := daprd.NewService(":" + appPort)
|
|
err := s.AddTopicEventHandler(sub, eventHandler)
|
|
if err != nil {
|
|
log.Fatalf("error adding topic subscription: %v", err)
|
|
}
|
|
|
|
// Start the server
|
|
err = s.Start()
|
|
if err != nil && err != http.ErrServerClosed {
|
|
log.Fatalf("error listening: %v", err)
|
|
}
|
|
}
|
|
|
|
func eventHandler(ctx context.Context, e *common.TopicEvent) (retry bool, err error) {
|
|
fmt.Println("Subscriber received:", e.Data)
|
|
return false, nil
|
|
}
|