Skip to content

Commit 74e4068

Browse files
committed
Escape string literals with GraphQL tokens
1 parent a0b4553 commit 74e4068

File tree

8 files changed

+72
-72
lines changed

8 files changed

+72
-72
lines changed

samples/learn/schema/StarWarsSchema.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,24 @@ namespace graphql {
2222
namespace service {
2323

2424
static const std::array<std::string_view, 3> s_namesEpisode = {
25-
"NEW_HOPE"sv,
26-
"EMPIRE"sv,
27-
"JEDI"sv
25+
R"gql(NEW_HOPE)gql"sv,
26+
R"gql(EMPIRE)gql"sv,
27+
R"gql(JEDI)gql"sv
2828
};
2929

3030
template <>
3131
learn::Episode ModifiedArgument<learn::Episode>::convert(const response::Value& value)
3232
{
3333
if (!value.maybe_enum())
3434
{
35-
throw service::schema_exception { { "not a valid Episode value" } };
35+
throw service::schema_exception { { R"ex(not a valid Episode value)ex" } };
3636
}
3737

3838
const auto itr = std::find(s_namesEpisode.cbegin(), s_namesEpisode.cend(), value.get<std::string>());
3939

4040
if (itr == s_namesEpisode.cend())
4141
{
42-
throw service::schema_exception { { "not a valid Episode value" } };
42+
throw service::schema_exception { { R"ex(not a valid Episode value)ex" } };
4343
}
4444

4545
return static_cast<learn::Episode>(itr - s_namesEpisode.cbegin());

samples/today/separate/TodaySchema.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,25 @@ namespace graphql {
2222
namespace service {
2323

2424
static const std::array<std::string_view, 4> s_namesTaskState = {
25-
"New"sv,
26-
"Started"sv,
27-
"Complete"sv,
28-
"Unassigned"sv
25+
R"gql(New)gql"sv,
26+
R"gql(Started)gql"sv,
27+
R"gql(Complete)gql"sv,
28+
R"gql(Unassigned)gql"sv
2929
};
3030

3131
template <>
3232
today::TaskState ModifiedArgument<today::TaskState>::convert(const response::Value& value)
3333
{
3434
if (!value.maybe_enum())
3535
{
36-
throw service::schema_exception { { "not a valid TaskState value" } };
36+
throw service::schema_exception { { R"ex(not a valid TaskState value)ex" } };
3737
}
3838

3939
const auto itr = std::find(s_namesTaskState.cbegin(), s_namesTaskState.cend(), value.get<std::string>());
4040

4141
if (itr == s_namesTaskState.cend())
4242
{
43-
throw service::schema_exception { { "not a valid TaskState value" } };
43+
throw service::schema_exception { { R"ex(not a valid TaskState value)ex" } };
4444
}
4545

4646
return static_cast<today::TaskState>(itr - s_namesTaskState.cbegin());

samples/today/separate_nointrospection/TodaySchema.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,25 @@ namespace graphql {
2222
namespace service {
2323

2424
static const std::array<std::string_view, 4> s_namesTaskState = {
25-
"New"sv,
26-
"Started"sv,
27-
"Complete"sv,
28-
"Unassigned"sv
25+
R"gql(New)gql"sv,
26+
R"gql(Started)gql"sv,
27+
R"gql(Complete)gql"sv,
28+
R"gql(Unassigned)gql"sv
2929
};
3030

3131
template <>
3232
today::TaskState ModifiedArgument<today::TaskState>::convert(const response::Value& value)
3333
{
3434
if (!value.maybe_enum())
3535
{
36-
throw service::schema_exception { { "not a valid TaskState value" } };
36+
throw service::schema_exception { { R"ex(not a valid TaskState value)ex" } };
3737
}
3838

3939
const auto itr = std::find(s_namesTaskState.cbegin(), s_namesTaskState.cend(), value.get<std::string>());
4040

4141
if (itr == s_namesTaskState.cend())
4242
{
43-
throw service::schema_exception { { "not a valid TaskState value" } };
43+
throw service::schema_exception { { R"ex(not a valid TaskState value)ex" } };
4444
}
4545

4646
return static_cast<today::TaskState>(itr - s_namesTaskState.cbegin());

samples/today/unified/TodaySchema.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,25 @@ namespace graphql {
2222
namespace service {
2323

2424
static const std::array<std::string_view, 4> s_namesTaskState = {
25-
"New"sv,
26-
"Started"sv,
27-
"Complete"sv,
28-
"Unassigned"sv
25+
R"gql(New)gql"sv,
26+
R"gql(Started)gql"sv,
27+
R"gql(Complete)gql"sv,
28+
R"gql(Unassigned)gql"sv
2929
};
3030

3131
template <>
3232
today::TaskState ModifiedArgument<today::TaskState>::convert(const response::Value& value)
3333
{
3434
if (!value.maybe_enum())
3535
{
36-
throw service::schema_exception { { "not a valid TaskState value" } };
36+
throw service::schema_exception { { R"ex(not a valid TaskState value)ex" } };
3737
}
3838

3939
const auto itr = std::find(s_namesTaskState.cbegin(), s_namesTaskState.cend(), value.get<std::string>());
4040

4141
if (itr == s_namesTaskState.cend())
4242
{
43-
throw service::schema_exception { { "not a valid TaskState value" } };
43+
throw service::schema_exception { { R"ex(not a valid TaskState value)ex" } };
4444
}
4545

4646
return static_cast<today::TaskState>(itr - s_namesTaskState.cbegin());

samples/today/unified_nointrospection/TodaySchema.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,25 @@ namespace graphql {
2222
namespace service {
2323

2424
static const std::array<std::string_view, 4> s_namesTaskState = {
25-
"New"sv,
26-
"Started"sv,
27-
"Complete"sv,
28-
"Unassigned"sv
25+
R"gql(New)gql"sv,
26+
R"gql(Started)gql"sv,
27+
R"gql(Complete)gql"sv,
28+
R"gql(Unassigned)gql"sv
2929
};
3030

3131
template <>
3232
today::TaskState ModifiedArgument<today::TaskState>::convert(const response::Value& value)
3333
{
3434
if (!value.maybe_enum())
3535
{
36-
throw service::schema_exception { { "not a valid TaskState value" } };
36+
throw service::schema_exception { { R"ex(not a valid TaskState value)ex" } };
3737
}
3838

3939
const auto itr = std::find(s_namesTaskState.cbegin(), s_namesTaskState.cend(), value.get<std::string>());
4040

4141
if (itr == s_namesTaskState.cend())
4242
{
43-
throw service::schema_exception { { "not a valid TaskState value" } };
43+
throw service::schema_exception { { R"ex(not a valid TaskState value)ex" } };
4444
}
4545

4646
return static_cast<today::TaskState>(itr - s_namesTaskState.cbegin());

samples/validation/schema/ValidationSchema.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,24 @@ namespace graphql {
2222
namespace service {
2323

2424
static const std::array<std::string_view, 3> s_namesDogCommand = {
25-
"SIT"sv,
26-
"DOWN"sv,
27-
"HEEL"sv
25+
R"gql(SIT)gql"sv,
26+
R"gql(DOWN)gql"sv,
27+
R"gql(HEEL)gql"sv
2828
};
2929

3030
template <>
3131
validation::DogCommand ModifiedArgument<validation::DogCommand>::convert(const response::Value& value)
3232
{
3333
if (!value.maybe_enum())
3434
{
35-
throw service::schema_exception { { "not a valid DogCommand value" } };
35+
throw service::schema_exception { { R"ex(not a valid DogCommand value)ex" } };
3636
}
3737

3838
const auto itr = std::find(s_namesDogCommand.cbegin(), s_namesDogCommand.cend(), value.get<std::string>());
3939

4040
if (itr == s_namesDogCommand.cend())
4141
{
42-
throw service::schema_exception { { "not a valid DogCommand value" } };
42+
throw service::schema_exception { { R"ex(not a valid DogCommand value)ex" } };
4343
}
4444

4545
return static_cast<validation::DogCommand>(itr - s_namesDogCommand.cbegin());
@@ -60,22 +60,22 @@ service::AwaitableResolver ModifiedResult<validation::DogCommand>::convert(servi
6060
}
6161

6262
static const std::array<std::string_view, 1> s_namesCatCommand = {
63-
"JUMP"sv
63+
R"gql(JUMP)gql"sv
6464
};
6565

6666
template <>
6767
validation::CatCommand ModifiedArgument<validation::CatCommand>::convert(const response::Value& value)
6868
{
6969
if (!value.maybe_enum())
7070
{
71-
throw service::schema_exception { { "not a valid CatCommand value" } };
71+
throw service::schema_exception { { R"ex(not a valid CatCommand value)ex" } };
7272
}
7373

7474
const auto itr = std::find(s_namesCatCommand.cbegin(), s_namesCatCommand.cend(), value.get<std::string>());
7575

7676
if (itr == s_namesCatCommand.cend())
7777
{
78-
throw service::schema_exception { { "not a valid CatCommand value" } };
78+
throw service::schema_exception { { R"ex(not a valid CatCommand value)ex" } };
7979
}
8080

8181
return static_cast<validation::CatCommand>(itr - s_namesCatCommand.cbegin());

src/IntrospectionSchema.cpp

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,29 @@ namespace graphql {
2020
namespace service {
2121

2222
static const std::array<std::string_view, 8> s_namesTypeKind = {
23-
"SCALAR"sv,
24-
"OBJECT"sv,
25-
"INTERFACE"sv,
26-
"UNION"sv,
27-
"ENUM"sv,
28-
"INPUT_OBJECT"sv,
29-
"LIST"sv,
30-
"NON_NULL"sv
23+
R"gql(SCALAR)gql"sv,
24+
R"gql(OBJECT)gql"sv,
25+
R"gql(INTERFACE)gql"sv,
26+
R"gql(UNION)gql"sv,
27+
R"gql(ENUM)gql"sv,
28+
R"gql(INPUT_OBJECT)gql"sv,
29+
R"gql(LIST)gql"sv,
30+
R"gql(NON_NULL)gql"sv
3131
};
3232

3333
template <>
3434
introspection::TypeKind ModifiedArgument<introspection::TypeKind>::convert(const response::Value& value)
3535
{
3636
if (!value.maybe_enum())
3737
{
38-
throw service::schema_exception { { "not a valid __TypeKind value" } };
38+
throw service::schema_exception { { R"ex(not a valid __TypeKind value)ex" } };
3939
}
4040

4141
const auto itr = std::find(s_namesTypeKind.cbegin(), s_namesTypeKind.cend(), value.get<std::string>());
4242

4343
if (itr == s_namesTypeKind.cend())
4444
{
45-
throw service::schema_exception { { "not a valid __TypeKind value" } };
45+
throw service::schema_exception { { R"ex(not a valid __TypeKind value)ex" } };
4646
}
4747

4848
return static_cast<introspection::TypeKind>(itr - s_namesTypeKind.cbegin());
@@ -63,39 +63,39 @@ service::AwaitableResolver ModifiedResult<introspection::TypeKind>::convert(serv
6363
}
6464

6565
static const std::array<std::string_view, 18> s_namesDirectiveLocation = {
66-
"QUERY"sv,
67-
"MUTATION"sv,
68-
"SUBSCRIPTION"sv,
69-
"FIELD"sv,
70-
"FRAGMENT_DEFINITION"sv,
71-
"FRAGMENT_SPREAD"sv,
72-
"INLINE_FRAGMENT"sv,
73-
"SCHEMA"sv,
74-
"SCALAR"sv,
75-
"OBJECT"sv,
76-
"FIELD_DEFINITION"sv,
77-
"ARGUMENT_DEFINITION"sv,
78-
"INTERFACE"sv,
79-
"UNION"sv,
80-
"ENUM"sv,
81-
"ENUM_VALUE"sv,
82-
"INPUT_OBJECT"sv,
83-
"INPUT_FIELD_DEFINITION"sv
66+
R"gql(QUERY)gql"sv,
67+
R"gql(MUTATION)gql"sv,
68+
R"gql(SUBSCRIPTION)gql"sv,
69+
R"gql(FIELD)gql"sv,
70+
R"gql(FRAGMENT_DEFINITION)gql"sv,
71+
R"gql(FRAGMENT_SPREAD)gql"sv,
72+
R"gql(INLINE_FRAGMENT)gql"sv,
73+
R"gql(SCHEMA)gql"sv,
74+
R"gql(SCALAR)gql"sv,
75+
R"gql(OBJECT)gql"sv,
76+
R"gql(FIELD_DEFINITION)gql"sv,
77+
R"gql(ARGUMENT_DEFINITION)gql"sv,
78+
R"gql(INTERFACE)gql"sv,
79+
R"gql(UNION)gql"sv,
80+
R"gql(ENUM)gql"sv,
81+
R"gql(ENUM_VALUE)gql"sv,
82+
R"gql(INPUT_OBJECT)gql"sv,
83+
R"gql(INPUT_FIELD_DEFINITION)gql"sv
8484
};
8585

8686
template <>
8787
introspection::DirectiveLocation ModifiedArgument<introspection::DirectiveLocation>::convert(const response::Value& value)
8888
{
8989
if (!value.maybe_enum())
9090
{
91-
throw service::schema_exception { { "not a valid __DirectiveLocation value" } };
91+
throw service::schema_exception { { R"ex(not a valid __DirectiveLocation value)ex" } };
9292
}
9393

9494
const auto itr = std::find(s_namesDirectiveLocation.cbegin(), s_namesDirectiveLocation.cend(), value.get<std::string>());
9595

9696
if (itr == s_namesDirectiveLocation.cend())
9797
{
98-
throw service::schema_exception { { "not a valid __DirectiveLocation value" } };
98+
throw service::schema_exception { { R"ex(not a valid __DirectiveLocation value)ex" } };
9999
}
100100

101101
return static_cast<introspection::DirectiveLocation>(itr - s_namesDirectiveLocation.cbegin());

src/SchemaGenerator.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,7 @@ using namespace std::literals;
11441144
}
11451145

11461146
firstValue = false;
1147-
sourceFile << R"cpp( ")cpp" << value.value << R"cpp("sv)cpp";
1147+
sourceFile << R"cpp( R"gql()cpp" << value.value << R"cpp()gql"sv)cpp";
11481148
}
11491149

11501150
sourceFile << R"cpp(
@@ -1158,8 +1158,8 @@ template <>
11581158
{
11591159
if (!value.maybe_enum())
11601160
{
1161-
throw service::schema_exception { { "not a valid )cpp"
1162-
<< enumType.type << R"cpp( value" } };
1161+
throw service::schema_exception { { R"ex(not a valid )cpp"
1162+
<< enumType.type << R"cpp( value)ex" } };
11631163
}
11641164
11651165
const auto itr = std::find(s_names)cpp"
@@ -1169,8 +1169,8 @@ template <>
11691169
if (itr == s_names)cpp"
11701170
<< enumType.cppType << R"cpp(.cend())
11711171
{
1172-
throw service::schema_exception { { "not a valid )cpp"
1173-
<< enumType.type << R"cpp( value" } };
1172+
throw service::schema_exception { { R"ex(not a valid )cpp"
1173+
<< enumType.type << R"cpp( value)ex" } };
11741174
}
11751175
11761176
return static_cast<)cpp"

0 commit comments

Comments
 (0)