I think there’s a bit of a Catch 22 going on since the explicit stream creation operation has gone.
What I want to do is, on startup, make sure that the stream metadata maxAge is set to a particular value. I can GET:
http://localhost:1114/streams/testStream/metadata
And it returns metadata for me, but the docs state:
However, you should not access metadata by constructing this URL yourself, as the right to change the resource address is reserved. Instead, you should follow the link for from the stream itself, which will enable your client to tolerate future changes to the addressing structure without breaking.
Which makes sense (and is nice to see), but if I try and GET:
http://localhost:1114/streams/testStream
I just get a 404 because the stream does’t exist yet, so I’m kinda stuck - I don’t want to send a “dummy event” to the stream just to force it to be created (and could I even guarantee that the stream woudl be immediately available for GETing?) so how do I do this without having to try and update the metadata on every send and see if it’s sucessful? I think perhaps getting the stream resource shouldn’t be returning a 404, and POSTing to the metadata resource should create the stream if it doesn’t already exist?