You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					249 lines
				
				6.1 KiB
			
		
		
			
		
	
	
					249 lines
				
				6.1 KiB
			| 
											3 years ago
										 | 'use strict' | ||
|  | 
 | ||
|  | const createError = require('@fastify/error') | ||
|  | const codes = { | ||
|  |   /** | ||
|  |    * Basic | ||
|  |    */ | ||
|  |   FST_ERR_NOT_FOUND: createError( | ||
|  |     'FST_ERR_NOT_FOUND', | ||
|  |     'Not Found', | ||
|  |     404 | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * ContentTypeParser | ||
|  |   */ | ||
|  |   FST_ERR_CTP_ALREADY_PRESENT: createError( | ||
|  |     'FST_ERR_CTP_ALREADY_PRESENT', | ||
|  |     "Content type parser '%s' already present." | ||
|  |   ), | ||
|  |   FST_ERR_CTP_INVALID_TYPE: createError( | ||
|  |     'FST_ERR_CTP_INVALID_TYPE', | ||
|  |     'The content type should be a string or a RegExp', | ||
|  |     500, | ||
|  |     TypeError | ||
|  |   ), | ||
|  |   FST_ERR_CTP_EMPTY_TYPE: createError( | ||
|  |     'FST_ERR_CTP_EMPTY_TYPE', | ||
|  |     'The content type cannot be an empty string', | ||
|  |     500, | ||
|  |     TypeError | ||
|  |   ), | ||
|  |   FST_ERR_CTP_INVALID_HANDLER: createError( | ||
|  |     'FST_ERR_CTP_INVALID_HANDLER', | ||
|  |     'The content type handler should be a function', | ||
|  |     500, | ||
|  |     TypeError | ||
|  |   ), | ||
|  |   FST_ERR_CTP_INVALID_PARSE_TYPE: createError( | ||
|  |     'FST_ERR_CTP_INVALID_PARSE_TYPE', | ||
|  |     "The body parser can only parse your data as 'string' or 'buffer', you asked '%s' which is not supported.", | ||
|  |     500, | ||
|  |     TypeError | ||
|  |   ), | ||
|  |   FST_ERR_CTP_BODY_TOO_LARGE: createError( | ||
|  |     'FST_ERR_CTP_BODY_TOO_LARGE', | ||
|  |     'Request body is too large', | ||
|  |     413, | ||
|  |     RangeError | ||
|  |   ), | ||
|  |   FST_ERR_CTP_INVALID_MEDIA_TYPE: createError( | ||
|  |     'FST_ERR_CTP_INVALID_MEDIA_TYPE', | ||
|  |     'Unsupported Media Type: %s', | ||
|  |     415 | ||
|  |   ), | ||
|  |   FST_ERR_CTP_INVALID_CONTENT_LENGTH: createError( | ||
|  |     'FST_ERR_CTP_INVALID_CONTENT_LENGTH', | ||
|  |     'Request body size did not match Content-Length', | ||
|  |     400, | ||
|  |     RangeError | ||
|  |   ), | ||
|  |   FST_ERR_CTP_EMPTY_JSON_BODY: createError( | ||
|  |     'FST_ERR_CTP_EMPTY_JSON_BODY', | ||
|  |     "Body cannot be empty when content-type is set to 'application/json'", | ||
|  |     400 | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * decorate | ||
|  |   */ | ||
|  |   FST_ERR_DEC_ALREADY_PRESENT: createError( | ||
|  |     'FST_ERR_DEC_ALREADY_PRESENT', | ||
|  |     "The decorator '%s' has already been added!" | ||
|  |   ), | ||
|  |   FST_ERR_DEC_DEPENDENCY_INVALID_TYPE: createError( | ||
|  |     'FST_ERR_DEC_DEPENDENCY_INVALID_TYPE', | ||
|  |     "The dependencies of decorator '%s' must be of type Array." | ||
|  |   ), | ||
|  |   FST_ERR_DEC_MISSING_DEPENDENCY: createError( | ||
|  |     'FST_ERR_DEC_MISSING_DEPENDENCY', | ||
|  |     "The decorator is missing dependency '%s'." | ||
|  |   ), | ||
|  |   FST_ERR_DEC_AFTER_START: createError( | ||
|  |     'FST_ERR_DEC_AFTER_START', | ||
|  |     "The decorator '%s' has been added after start!" | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * hooks | ||
|  |   */ | ||
|  |   FST_ERR_HOOK_INVALID_TYPE: createError( | ||
|  |     'FST_ERR_HOOK_INVALID_TYPE', | ||
|  |     'The hook name must be a string', | ||
|  |     500, | ||
|  |     TypeError | ||
|  |   ), | ||
|  |   FST_ERR_HOOK_INVALID_HANDLER: createError( | ||
|  |     'FST_ERR_HOOK_INVALID_HANDLER', | ||
|  |     'The hook callback must be a function', | ||
|  |     500, | ||
|  |     TypeError | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Middlewares | ||
|  |    */ | ||
|  |   FST_ERR_MISSING_MIDDLEWARE: createError( | ||
|  |     'FST_ERR_MISSING_MIDDLEWARE', | ||
|  |     'You must register a plugin for handling middlewares, visit fastify.io/docs/latest/Reference/Middleware/ for more info.', | ||
|  |     500 | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * logger | ||
|  |   */ | ||
|  |   FST_ERR_LOG_INVALID_DESTINATION: createError( | ||
|  |     'FST_ERR_LOG_INVALID_DESTINATION', | ||
|  |     'Cannot specify both logger.stream and logger.file options' | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * reply | ||
|  |   */ | ||
|  |   FST_ERR_REP_INVALID_PAYLOAD_TYPE: createError( | ||
|  |     'FST_ERR_REP_INVALID_PAYLOAD_TYPE', | ||
|  |     "Attempted to send payload of invalid type '%s'. Expected a string or Buffer.", | ||
|  |     500, | ||
|  |     TypeError | ||
|  |   ), | ||
|  |   FST_ERR_REP_ALREADY_SENT: createError( | ||
|  |     'FST_ERR_REP_ALREADY_SENT', | ||
|  |     'Reply was already sent.' | ||
|  |   ), | ||
|  |   FST_ERR_REP_SENT_VALUE: createError( | ||
|  |     'FST_ERR_REP_SENT_VALUE', | ||
|  |     'The only possible value for reply.sent is true.' | ||
|  |   ), | ||
|  |   FST_ERR_SEND_INSIDE_ONERR: createError( | ||
|  |     'FST_ERR_SEND_INSIDE_ONERR', | ||
|  |     'You cannot use `send` inside the `onError` hook' | ||
|  |   ), | ||
|  |   FST_ERR_SEND_UNDEFINED_ERR: createError( | ||
|  |     'FST_ERR_SEND_UNDEFINED_ERR', | ||
|  |     'Undefined error has occurred' | ||
|  |   ), | ||
|  |   FST_ERR_BAD_STATUS_CODE: createError( | ||
|  |     'FST_ERR_BAD_STATUS_CODE', | ||
|  |     'Called reply with an invalid status code: %s' | ||
|  |   ), | ||
|  |   FST_ERR_BAD_TRAILER_NAME: createError( | ||
|  |     'FST_ERR_BAD_TRAILER_NAME', | ||
|  |     'Called reply.trailer with an invalid header name: %s' | ||
|  |   ), | ||
|  |   FST_ERR_BAD_TRAILER_VALUE: createError( | ||
|  |     'FST_ERR_BAD_TRAILER_VALUE', | ||
|  |     "Called reply.trailer('%s', fn) with an invalid type: %s. Expected a function." | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * schemas | ||
|  |   */ | ||
|  |   FST_ERR_SCH_MISSING_ID: createError( | ||
|  |     'FST_ERR_SCH_MISSING_ID', | ||
|  |     'Missing schema $id property' | ||
|  |   ), | ||
|  |   FST_ERR_SCH_ALREADY_PRESENT: createError( | ||
|  |     'FST_ERR_SCH_ALREADY_PRESENT', | ||
|  |     "Schema with id '%s' already declared!" | ||
|  |   ), | ||
|  |   FST_ERR_SCH_DUPLICATE: createError( | ||
|  |     'FST_ERR_SCH_DUPLICATE', | ||
|  |     "Schema with '%s' already present!" | ||
|  |   ), | ||
|  |   FST_ERR_SCH_VALIDATION_BUILD: createError( | ||
|  |     'FST_ERR_SCH_VALIDATION_BUILD', | ||
|  |     'Failed building the validation schema for %s: %s, due to error %s' | ||
|  |   ), | ||
|  |   FST_ERR_SCH_SERIALIZATION_BUILD: createError( | ||
|  |     'FST_ERR_SCH_SERIALIZATION_BUILD', | ||
|  |     'Failed building the serialization schema for %s: %s, due to error %s' | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * wrapThenable | ||
|  |    */ | ||
|  |   FST_ERR_PROMISE_NOT_FULFILLED: createError( | ||
|  |     'FST_ERR_PROMISE_NOT_FULFILLED', | ||
|  |     "Promise may not be fulfilled with 'undefined' when statusCode is not 204" | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * http2 | ||
|  |    */ | ||
|  |   FST_ERR_HTTP2_INVALID_VERSION: createError( | ||
|  |     'FST_ERR_HTTP2_INVALID_VERSION', | ||
|  |     'HTTP2 is available only from node >= 8.8.1' | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * initialConfig | ||
|  |    */ | ||
|  |   FST_ERR_INIT_OPTS_INVALID: createError( | ||
|  |     'FST_ERR_INIT_OPTS_INVALID', | ||
|  |     "Invalid initialization options: '%s'" | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * router | ||
|  |    */ | ||
|  |   FST_ERR_BAD_URL: createError( | ||
|  |     'FST_ERR_BAD_URL', | ||
|  |     "'%s' is not a valid url component", | ||
|  |     400 | ||
|  |   ), | ||
|  |   FST_ERR_DEFAULT_ROUTE_INVALID_TYPE: createError( | ||
|  |     'FST_ERR_DEFAULT_ROUTE_INVALID_TYPE', | ||
|  |     'The defaultRoute type should be a function', | ||
|  |     500, | ||
|  |     TypeError | ||
|  |   ), | ||
|  |   FST_ERR_INVALID_URL: createError( | ||
|  |     'FST_ERR_INVALID_URL', | ||
|  |     "URL must be a string. Received '%s'", | ||
|  |     400 | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    *  again listen when close server | ||
|  |    */ | ||
|  |   FST_ERR_REOPENED_CLOSE_SERVER: createError( | ||
|  |     'FST_ERR_REOPENED_CLOSE_SERVER', | ||
|  |     'Fastify has already been closed and cannot be reopened' | ||
|  |   ), | ||
|  |   FST_ERR_REOPENED_SERVER: createError( | ||
|  |     'FST_ERR_REOPENED_SERVER', | ||
|  |     'Fastify is already listening' | ||
|  |   ), | ||
|  | 
 | ||
|  |   /** | ||
|  |    * plugin | ||
|  |    */ | ||
|  |   FST_ERR_PLUGIN_VERSION_MISMATCH: createError( | ||
|  |     'FST_ERR_PLUGIN_VERSION_MISMATCH', | ||
|  |     "fastify-plugin: %s - expected '%s' fastify version, '%s' is installed" | ||
|  |   ) | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = codes |