mirror of https://github.com/knative/func.git
feat: print emit response output if it's a cloudevent (#444)
The CloudEvent SDK will provide any event included in the response as a return value from `Request()`. If it does, print it out. It makes the experience nicer. For example, if I run the default TypeScript event function locally, this is what `kn emit...` looks like. ``` ❯ ./func emit --sink local --data '{"hello": "world"}' Context Attributes, specversion: 1.0 type: echo source: function.eventViewer id: d7d81ccc-a365-4433-be6b-7edfa43ca360 time: 2021-07-27T18:57:03.147Z datacontenttype: application/json; charset=utf-8 Data, { "hello": "world" } ``` Signed-off-by: Lance Ball <lball@redhat.com>
This commit is contained in:
parent
1a1288a6d4
commit
a25b723dbc
|
@ -51,9 +51,13 @@ func (e *Emitter) Emit(ctx context.Context, endpoint string) (err error) {
|
|||
if err = evt.SetData(e.ContentType, e.Data); err != nil {
|
||||
return
|
||||
}
|
||||
if result := c.Send(ctx, evt); cloudevents.IsUndelivered(result) {
|
||||
event, result := c.Request(ctx, evt)
|
||||
if !cloudevents.IsACK(result) {
|
||||
return fmt.Errorf(result.Error())
|
||||
}
|
||||
if event != nil {
|
||||
fmt.Printf("%v", event)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue