docs: function koaErrorHandler(client, config) {
  
    /**
     * The actual error handler for the Koa plugin attempts to yield the results
     * of downstream request handlers and will attempt to catch errors emitted by
     * these handlers.
     * @param {Function} next - the result of the request handlers to yield
     * @returns {Undefined} does not return anything
     */
    return function * (next) {
      var em;
      var svc = config.getServiceContext();
  
      try {
  
        yield next;
      } catch (err) {
  
        em = new ErrorMessage()
                 .consumeRequestInformation(
                     koaRequestInformationExtractor(this.request, this.response))
                 .setServiceContext(svc.service,
                                    svc.version);
  
        errorHandlerRouter(err, em);
  
        client.sendError(em);
      }
    };
  }