OverviewFilesCommitsIssuesDocsReleasesPeers

mirall-cli / node_modules / bare-http1 / lib / errors.js

35 lines · javascript ref:
module.exports = class HTTPError extends Error {
  constructor(msg, fn = HTTPError, code = fn.name) {
    super(`${code}: ${msg}`)
    this.code = code

    if (Error.captureStackTrace) {
      Error.captureStackTrace(this, fn)
    }
  }

  get name() {
    return 'HTTPError'
  }

  static NOT_IMPLEMENTED(msg = 'Method not implemented') {
    return new HTTPError(msg, HTTPError.NOT_IMPLEMENTED)
  }

  static CONNECTION_LOST(msg = 'Socket hung up') {
    return new HTTPError(msg, HTTPError.CONNECTION_LOST)
  }

  static AGENT_SUSPENDED(msg = 'Agent is suspended') {
    return new HTTPError(msg, HTTPError.AGENT_SUSPENDED)
  }

  static INVALID_HEADER_NAME(msg = 'Invalid header name') {
    return new HTTPError(msg, HTTPError.INVALID_HEADER_NAME)
  }

  static INVALID_HEADER_VALUE(msg = 'Invalid header value') {
    return new HTTPError(msg, HTTPError.INVALID_HEADER_VALUE)
  }
}