function filePathToUrlPath (filePath, basePath, urlRoot, proxyPath) {
  if (filePath.startsWith(basePath)) {
    return proxyPath + urlRoot.slice(1) + 'base' + filePath.slice(basePath.length)
  }
  return proxyPath + urlRoot.slice(1) + 'absolute' + filePath
}
Karma middleware is responsible for serving:
- client.html (the entrypoint for capturing a browser)
- debug.html
- context.html (the execution context, loaded within an iframe)
- karma.js

The main part is generating context.html, as it contains:
- generating mappings
- including <script> and <link> tags
- setting propert caching headers