Files
m3o-go/examples/event/README.md
2021-11-03 16:20:20 +00:00

1.4 KiB
Executable File

Event

An m3o.com API. For example usage see m3o.com/Event/api.

Endpoints:

Publish

Publish a event to the event stream.

https://m3o.com/event/api#Publish

package example

import(
	"fmt"
	"os"

	"go.m3o.com/event"
)

// Publish a event to the event stream.
func PublishAnEvent() {
	eventService := event.NewEventService(os.Getenv("M3O_API_TOKEN"))
	rsp, err := eventService.Publish(&event.PublishRequest{
		Message: map[string]interface{}{
	"id": "1",
	"type": "signup",
	"user": "john",
},
Topic: "user",

	})
	fmt.Println(rsp, err)
}

Consume

Consume events from a given topic.

https://m3o.com/event/api#Consume

package example

import(
	"fmt"
	"os"

	"go.m3o.com/event"
)

// Consume events from a given topic.
func ConsumeFromAtopic() {
	eventService := event.NewEventService(os.Getenv("M3O_API_TOKEN"))
	rsp, err := eventService.Consume(&event.ConsumeRequest{
		Topic: "user",

	})
	fmt.Println(rsp, err)
}

Read

Read stored events

https://m3o.com/event/api#Read

package example

import(
	"fmt"
	"os"

	"go.m3o.com/event"
)

// Read stored events
func ReadEventsOnAtopic() {
	eventService := event.NewEventService(os.Getenv("M3O_API_TOKEN"))
	rsp, err := eventService.Read(&event.ReadRequest{
		Topic: "user",

	})
	fmt.Println(rsp, err)
}