Faker C++
Loading...
Searching...
No Matches
internet.h
Go to the documentation of this file.
1#pragma once
2
3#include <array>
4#include <optional>
5#include <string>
6#include <string_view>
7
8#include "faker-cxx/export.h"
9#include "faker-cxx/types/locale.h"
10
12{
21
22enum class WebProtocol
23{
24 Http,
25 Https
26};
27
28enum class IPv4Class
29{
30 A,
31 B,
32 C
33};
34
35struct FAKER_CXX_EXPORT PasswordOptions
36{
37 bool upperLetters = true;
38 bool lowerLetters = true;
39 bool numbers = true;
40 bool symbols = true;
41};
42
59FAKER_CXX_EXPORT std::string username(std::optional<std::string> firstName = std::nullopt,
60 std::optional<std::string> lastName = std::nullopt,
61 Locale locale = Locale::en_US);
62
80FAKER_CXX_EXPORT std::string email(std::optional<std::string> firstName = std::nullopt,
81 std::optional<std::string> lastName = std::nullopt,
82 std::optional<std::string> emailHost = std::nullopt);
83
96FAKER_CXX_EXPORT std::string exampleEmail(std::optional<std::string> firstName = std::nullopt,
97 std::optional<std::string> lastName = std::nullopt);
98
112FAKER_CXX_EXPORT std::string password(int length = 16, const PasswordOptions& options = {});
113
114enum class EmojiType
115{
116 Activity,
117 Body,
118 Flag,
119 Food,
120 Nature,
121 Object,
122 Person,
123 Smiley,
124 Symbol,
125 Travel,
126};
127
140FAKER_CXX_EXPORT std::string_view emoji(std::optional<EmojiType> type = std::nullopt);
141
153FAKER_CXX_EXPORT bool checkIfEmojiIsValid(const std::string& emojiToCheck);
154
164FAKER_CXX_EXPORT std::string_view protocol();
165
175FAKER_CXX_EXPORT std::string_view httpMethod();
176
189FAKER_CXX_EXPORT unsigned httpStatusCode(std::optional<HttpResponseType> responseType = std::nullopt);
190
200FAKER_CXX_EXPORT std::string_view httpRequestHeader();
201
211FAKER_CXX_EXPORT std::string_view httpResponseHeader();
212
222FAKER_CXX_EXPORT std::string_view httpMediaType();
223
236FAKER_CXX_EXPORT std::string ipv4(const IPv4Class& ipv4class = IPv4Class::C);
237
255FAKER_CXX_EXPORT std::string ipv4(const std::array<unsigned int, 4>& baseIpv4Address,
256 const std::array<unsigned int, 4>& generationMask);
257
267FAKER_CXX_EXPORT std::string ipv6();
268
280FAKER_CXX_EXPORT std::string mac(const std::string& sep = ":");
281
291FAKER_CXX_EXPORT unsigned port();
292
304FAKER_CXX_EXPORT std::string url(const WebProtocol& webProtocol = WebProtocol::Https);
305
315FAKER_CXX_EXPORT std::string domainName();
316
326FAKER_CXX_EXPORT std::string domainWord();
327
337FAKER_CXX_EXPORT std::string_view domainSuffix();
338
350FAKER_CXX_EXPORT std::string anonymousUsername(unsigned maxLength);
351}
Definition internet.h:12
FAKER_CXX_EXPORT std::string url(const WebProtocol &webProtocol=WebProtocol::Https)
Generates a random url.
IPv4Class
Definition internet.h:29
FAKER_CXX_EXPORT std::string anonymousUsername(unsigned maxLength)
Generates a random username.
FAKER_CXX_EXPORT unsigned httpStatusCode(std::optional< HttpResponseType > responseType=std::nullopt)
Returns a random http status code.
HttpResponseType
Definition internet.h:14
FAKER_CXX_EXPORT std::string_view httpRequestHeader()
Generates a random http request header.
FAKER_CXX_EXPORT std::string_view httpMethod()
Generates a random http method name.
FAKER_CXX_EXPORT std::string_view emoji(std::optional< EmojiType > type=std::nullopt)
Returns a random emoji.
FAKER_CXX_EXPORT std::string domainWord()
Generates a random domain word.
FAKER_CXX_EXPORT std::string email(std::optional< std::string > firstName=std::nullopt, std::optional< std::string > lastName=std::nullopt, std::optional< std::string > emailHost=std::nullopt)
Generates an email address using the given person's name as base.
FAKER_CXX_EXPORT std::string domainName()
Generates a random domain name.
FAKER_CXX_EXPORT std::string exampleEmail(std::optional< std::string > firstName=std::nullopt, std::optional< std::string > lastName=std::nullopt)
Generates an email address using the given person's name as base with example domain.
FAKER_CXX_EXPORT std::string password(int length=16, const PasswordOptions &options={})
Generates a random password-like string. Do not use this method for generating actual passwords for u...
FAKER_CXX_EXPORT std::string_view domainSuffix()
Generates a random domain suffix.
FAKER_CXX_EXPORT std::string ipv4(const IPv4Class &ipv4class=IPv4Class::C)
Returns a string containing randomized ipv4 address of the given class.
FAKER_CXX_EXPORT std::string ipv6()
Returns a string containing randomized ipv6 address.
FAKER_CXX_EXPORT std::string_view httpMediaType()
Generates a random http media type.
FAKER_CXX_EXPORT std::string username(std::optional< std::string > firstName=std::nullopt, std::optional< std::string > lastName=std::nullopt, Locale locale=Locale::en_US)
Generates a username using the given person's name as base.
EmojiType
Definition internet.h:115
FAKER_CXX_EXPORT std::string_view httpResponseHeader()
Generates a random http response header.
WebProtocol
Definition internet.h:23
FAKER_CXX_EXPORT std::string_view protocol()
Returns a random web protocol. Either `http` or `https`.
FAKER_CXX_EXPORT bool checkIfEmojiIsValid(const std::string &emojiToCheck)
Verify that a given emoji is valid.
FAKER_CXX_EXPORT std::string mac(const std::string &sep=":")
Returns a generated random mac address.
FAKER_CXX_EXPORT unsigned port()
Generates a random port.
Definition internet.h:36