gns3-server
gns3-server copied to clipboard
Use ETags to avoid data corruption
For example to avoid corruption if two clients updates an appliance settings at the same time.
ETags can also be used to optimize requests, i.e. avoid request all appliances data if nothing has changed on the server side.
https://www.kennethlange.com/avoid-data-corruption-in-your-rest-api-with-etags/
As an example, an Etag is used to know if the appliances need to be downloaded from the gns3-registry repository on GitHub: https://github.com/GNS3/gns3-server/blob/master/gns3server/controller/appliance_manager.py#L167L179
Implementing Etags on gns3-server itself would allow for optimized requests from clients.