pmorie / osb-broker-lib

A go library for developing an Open Service Broker
Apache License 2.0
28 stars 23 forks source link

[WIP] Add async bind + extension support #24

Closed eriknelson closed 6 years ago

eriknelson commented 6 years ago

Initial thoughts for #23.

This should be considered WIP as I'm not sure I have things in the packages where they should ultimately belong and there are no tests, but I do think it demonstrates a pattern for introducing opt-in "extensions" to the stable API and I'm looking for feedback on that idea. Introductory users are encouraged to use the standard APISurface, and can opt into OSB features that may be in "validation through implementation" in the spec group. Additionally, this gives the spec group a nice way to tease out these features in an limited space.

Usage: https://github.com/eriknelson/osb-starter-pack/commit/808ab409ac73bb9afdcabdb9ef6e4b8b45de5c77

jmrodri commented 6 years ago

@eriknelson this PR will be impacted by the BusinessLogic rename, probably why there's a conflict.

eriknelson commented 6 years ago

Thanks, saw that. I'll rebase.

shawn-hurley commented 6 years ago

I think that if this, if it is to work fully, needs to override the bind method and handler. bind handler does not handle async responses and this would need to re-install that handler with a method that does handle async bind.

pmorie commented 6 years ago

I think async bind support is really important to get in. @eriknelson do you think you can find some time to finish that part up soon?

n3wscott commented 6 years ago

FWIW: I extended the broker's http interface like this: https://github.com/n3wscott/ledhouse-broker/blob/master/cmd/main.go#L91

eriknelson commented 6 years ago

@pmorie Sure, this kind of fell off my radar with the catalog work, but I will take some time this weekend to break this out from the extension idea and submit for feedback.

eriknelson commented 6 years ago

Closing this in favor of #47, since this has fallen sufficiently behind. #47 implements async bind separate from an extension mechanism.