server: graceful failure if backend  API request takes too long

yes, this whole file could use some work