Expose fetching method from client so that it can be used by 3rd-parties on server

Expose the fetching method for getting WMS tiles so that it can be used by 3rd-parties on server.

Today all of the network calls from the opengeoweb map is done in the client. This gives us some issues:

  1. Cross-Origin Resource Sharing (CORS) Restrictions - Browsers enforce the same-origin policy for security reasons, which can restrict API calls to different domains. While CORS headers can be used to bypass these restrictions, it's not always feasible or secure. Server-side API calls do not face these same-origin policy restrictions.
  2. Performance - There is a lot of async network calls from the device and can take a lot of time for the device to handle (especially if the device is old)

We want to be able to make one single call from the client to our server so that the api processing can be done by our server. We can also then stream the data back to the client (e.g. tile for tile) and populate the map like that.

What is needed:

  1. The fetching logic on how to fetch the correct WMS tiles
  2. The map needs to be able to get data externally (as props) so that we can populate it with the response