From 05f555bc7e304afaa657586ae88f2173507e084f Mon Sep 17 00:00:00 2001 From: johge201 <77795252+johge201@users.noreply.github.com> Date: Sat, 21 May 2022 16:15:20 +0200 Subject: feat(internet): HTTP random status code (#945) Co-authored-by: ST-DDT Co-authored-by: Piotr Kuczynski Co-authored-by: johge201 Co-authored-by: Sofia Bertmar Co-authored-by: Sofia Bertmar <58030654+sofbe@users.noreply.github.com> Co-authored-by: Shinigami --- src/modules/internet/index.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/modules') diff --git a/src/modules/internet/index.ts b/src/modules/internet/index.ts index 7e0baaec..f08ff321 100644 --- a/src/modules/internet/index.ts +++ b/src/modules/internet/index.ts @@ -13,6 +13,13 @@ export type EmojiType = | 'symbol' | 'flag'; +export type HTTPStatusCodeType = + | 'informational' + | 'success' + | 'clientError' + | 'serverError' + | 'redirection'; + /** * Module to generate internet related entries. */ @@ -180,6 +187,30 @@ export class Internet { return this.faker.helpers.arrayElement(httpMethods); } + /** + * Generates a random HTTP status code. + * + * @param options Options object. + * @param options.types A list of the HTTP status code types that should be used. + * + * @example + * faker.internet.httpStatusCode() // 200 + * faker.internet.httpStatusCode({ types: ['success', 'serverError'] }) // 500 + */ + httpStatusCode( + options: { types?: ReadonlyArray } = {} + ): number { + const { + types = Object.keys( + this.faker.definitions.internet.http_status_code + ) as Array, + } = options; + const httpStatusCodeType = this.faker.helpers.arrayElement(types); + return this.faker.helpers.arrayElement( + this.faker.definitions.internet.http_status_code[httpStatusCodeType] + ); + } + /** * Generates a random url. * -- cgit v1.2.3