René's URL Explorer Experiment


Title: READY - Stop DOS attacks by making the lexer stop early on evil input. by bbakerman · Pull Request #2892 · graphql-java/graphql-java · GitHub

Open Graph Title: READY - Stop DOS attacks by making the lexer stop early on evil input. by bbakerman · Pull Request #2892 · graphql-java/graphql-java

X Title: READY - Stop DOS attacks by making the lexer stop early on evil input. by bbakerman · Pull Request #2892 · graphql-java/graphql-java

Description: This is related to #2888 The bug was that we do indeed have a max token counting mechanism in graphql-java BUt it was being enacted too late. Testing showed that the max token code was indeed being hit BUT the ANTLR lexing and parsing code was taking proportionally longer to get to the max token state as the input size increased This is cause bv the greedy nature of the ANTLR Lexer - it will look ahead and store tokens in memory under certain grammar conditions and butted directives like @lol@lol are one of them. This meant that the lexer was the code contributing to CPU time and not the parser - BUT the max token code check was in the parser. This PR puts the same max token checks on the lexer as it does in the parser. In fact it debatable if the parser checks should still be retained (since the lexer will be the main way this will be hit) but the logic is common so I left it in place. The current existing billion @lols test still parse with this change - The difference is where cancel parse exception is being thrown. The use of the lexer as the place to count means the counting checks are done in constant time. As soon as the max tokens is encountered, the parse is stopped. graphql-java also uses 3 channels for tokens (0 for the grammar and 2 and 3 for comments and whitespace). The lexing of whitespace and comments also take up CPU time so they counters have been put in place to watch tokens on those channels as well. This will stop a "mostly whitespace" attack, even though whitespace costs less to aggregate in practice

Open Graph Description: This is related to #2888 The bug was that we do indeed have a max token counting mechanism in graphql-java BUt it was being enacted too late. Testing showed that the max token code was indeed being...

X Description: This is related to #2888 The bug was that we do indeed have a max token counting mechanism in graphql-java BUt it was being enacted too late. Testing showed that the max token code was indeed being...

Opengraph URL: https://github.com/graphql-java/graphql-java/pull/2892

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:6601b3b6-ac25-527a-02d0-1e8706e54325
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idCFE8:24429C:B33C91:E9026E:6A600DDE
html-safe-noncea8a6786cf77f7840e2e1fa2061d94ab015c4c93f252ba80dd6f89a1cfc839dde
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRkU4OjI0NDI5QzpCMzNDOTE6RTkwMjZFOjZBNjAwRERFIiwidmlzaXRvcl9pZCI6IjUzODg1MjUzMjM0OTkzNDMzMjYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac756d59d0233858627023fbd8e73d1ebd94d87b9dc8f26bdbe405a8e515493ffd
hovercard-subject-tagpull_request:1003878811
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/graphql-java/graphql-java/pull/2892/files
twitter:imagehttps://avatars.githubusercontent.com/u/1661769?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1661769?s=400&v=4
og:image:altThis is related to #2888 The bug was that we do indeed have a max token counting mechanism in graphql-java BUt it was being enacted too late. Testing showed that the max token code was indeed being...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None48cb2ed2304f8ae5a4a05d6327faf70466c4c0d9dcbf7b9df76251ca9c669a90
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/graphql-java/graphql-java git https://github.com/graphql-java/graphql-java.git
octolytics-dimension-user_id14289921
octolytics-dimension-user_logingraphql-java
octolytics-dimension-repository_id38602457
octolytics-dimension-repository_nwographql-java/graphql-java
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id38602457
octolytics-dimension-repository_network_root_nwographql-java/graphql-java
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasecb0f10a384099e0765239a7cc220992cae52bdba
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/graphql-java/graphql-java/pull/2892/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgraphql-java%2Fgraphql-java%2Fpull%2F2892%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgraphql-java%2Fgraphql-java%2Fpull%2F2892%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=graphql-java%2Fgraphql-java
Reloadhttps://github.com/graphql-java/graphql-java/pull/2892/files
Reloadhttps://github.com/graphql-java/graphql-java/pull/2892/files
Reloadhttps://github.com/graphql-java/graphql-java/pull/2892/files
Please reload this pagehttps://github.com/graphql-java/graphql-java/pull/2892/files
graphql-java https://github.com/graphql-java
graphql-javahttps://github.com/graphql-java/graphql-java
Notifications https://github.com/login?return_to=%2Fgraphql-java%2Fgraphql-java
Fork 1.1k https://github.com/login?return_to=%2Fgraphql-java%2Fgraphql-java
Star 6.2k https://github.com/login?return_to=%2Fgraphql-java%2Fgraphql-java
Code https://github.com/graphql-java/graphql-java
Issues 26 https://github.com/graphql-java/graphql-java/issues
Pull requests 11 https://github.com/graphql-java/graphql-java/pulls
Discussions https://github.com/graphql-java/graphql-java/discussions
Actions https://github.com/graphql-java/graphql-java/actions
Projects https://github.com/graphql-java/graphql-java/projects
Wiki https://github.com/graphql-java/graphql-java/wiki
Security and quality 0 https://github.com/graphql-java/graphql-java/security
Insights https://github.com/graphql-java/graphql-java/pulse
Code https://github.com/graphql-java/graphql-java
Issues https://github.com/graphql-java/graphql-java/issues
Pull requests https://github.com/graphql-java/graphql-java/pulls
Discussions https://github.com/graphql-java/graphql-java/discussions
Actions https://github.com/graphql-java/graphql-java/actions
Projects https://github.com/graphql-java/graphql-java/projects
Wiki https://github.com/graphql-java/graphql-java/wiki
Security and quality https://github.com/graphql-java/graphql-java/security
Insights https://github.com/graphql-java/graphql-java/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fgraphql-java%2Fgraphql-java%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fgraphql-java%2Fgraphql-java%2Fissues%2Fnew%2Fchoose
bbakermanhttps://github.com/bbakerman
masterhttps://github.com/graphql-java/graphql-java/tree/master
ddos_stop_lexer_earlyhttps://github.com/graphql-java/graphql-java/tree/ddos_stop_lexer_early
Conversation 14 https://github.com/graphql-java/graphql-java/pull/2892
Commits 11 https://github.com/graphql-java/graphql-java/pull/2892/commits
Checks 0 https://github.com/graphql-java/graphql-java/pull/2892/checks
Files changed https://github.com/graphql-java/graphql-java/pull/2892/files
Please reload this pagehttps://github.com/graphql-java/graphql-java/pull/2892/files
READY - Stop DOS attacks by making the lexer stop early on evil input. https://github.com/graphql-java/graphql-java/pull/2892/files#top
Show all changes 11 commits https://github.com/graphql-java/graphql-java/pull/2892/files
772084a This stops DOS attacks by making the lexer stop early. bbakerman Jul 21, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/772084a1807ca6101f331ea7362f91533f2c2cb6
2caa273 This stops DOS attacks by making the lexer stop early. Added BadSitua… bbakerman Jul 21, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/2caa273c856fe72a4833fb163d082473e8103ed6
30ee65a This stops DOS attacks by making the lexer stop early. Added BadSitua… bbakerman Jul 21, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/30ee65a3c3cb1526f0ecdf16b0a2a087516645da
79b989c This stops DOS attacks by making the lexer stop early. Added per quer… bbakerman Jul 22, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/79b989c582952426beb419888756ba75d56a5f98
888d123 This stops DOS attacks by making the lexer stop early. Added whitespa… bbakerman Jul 22, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/888d12380b43c6ced425c2f667542a16015e754b
1669ca7 This stops DOS attacks by making the lexer stop early. Added whitespa… bbakerman Jul 22, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/1669ca745630b6971dbef717eca7da442eef5d97
077e64a This stops DOS attacks by making the lexer stop early. Added whitespa… bbakerman Jul 22, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/077e64a906708f6ff23108024af226adcb9c377f
17ec04b This stops DOS attacks by making the lexer stop early. Added whitespa… bbakerman Jul 22, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/17ec04b8a1faa0af82fe0679702e961b1c5318cd
a0a7cfd This stops DOS attacks by making the lexer stop early.Use array inste… bbakerman Jul 22, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/a0a7cfd4be7a5848dcf17e46172f64ca2a84ac32
50206dd This stops DOS attacks by making the lexer stop early.Use array inste… bbakerman Jul 23, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/50206dd13d4deccd7e969dd4c2fdff23a115a871
0bd81e7 PR feedback - renamed options and added SDL options bbakerman Jul 26, 2022 https://github.com/graphql-java/graphql-java/pull/2892/commits/0bd81e7c09fa60ad5a43ee119e4e271e69bc085e
Clear filters https://github.com/graphql-java/graphql-java/pull/2892/files
Please reload this pagehttps://github.com/graphql-java/graphql-java/pull/2892/files
Please reload this pagehttps://github.com/graphql-java/graphql-java/pull/2892/files
ParseAndValidate.java https://github.com/graphql-java/graphql-java/pull/2892/files#diff-06614010d4bc37393c4f6add6f76114627a2c1f49d0cd39fec6b481e1e399148
GraphqlAntlrToLanguage.java https://github.com/graphql-java/graphql-java/pull/2892/files#diff-e7e71d9b47cbc63be18e541cc41d41e9e9d2534a8125eab8739c9616c6822070
Parser.java https://github.com/graphql-java/graphql-java/pull/2892/files#diff-24ba77f7c181cfd66deb300610d9d36d8ad43a42defd2d8d899da88a8c77f989
ParserOptions.java https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
SafeTokenSource.java https://github.com/graphql-java/graphql-java/pull/2892/files#diff-f9fc01d56c3bffa9c70fee9c9b3ad888d6890b84d774c20a99b2526b31500ab8
SchemaParser.java https://github.com/graphql-java/graphql-java/pull/2892/files#diff-d507d21a7e3b6f096a0230fa7555c10791638d3074a83aaa028e028be6e6b244
BadParserSituations.java https://github.com/graphql-java/graphql-java/pull/2892/files#diff-8f165c6dde55c673b0caecb25d2cb6568c495f4fd0d03642bc4ed91c787620ba
ParserOptionsTest.groovy https://github.com/graphql-java/graphql-java/pull/2892/files#diff-1cdc9a88950222daea3e19217d6e88bb9eb42f1c64dd6269dfeb8e6df353e8ad
ParserTest.groovy https://github.com/graphql-java/graphql-java/pull/2892/files#diff-1e99797c8854c50d5995fb32cd36c6c0d3cee97c1f5fb4350d2a0e7e1053a67b
SafeTokenSourceTest.groovy https://github.com/graphql-java/graphql-java/pull/2892/files#diff-8f3b440bcebda9dab75e5c192e71b0b7de05ddbcbe6b8eab9d53e936fb8edff3
SchemaParserTest.groovy https://github.com/graphql-java/graphql-java/pull/2892/files#diff-76154878ec084e27b1040077a8e5f0d1bf7f2afa2efc9d494805280c9936080f
src/main/java/graphql/ParseAndValidate.javahttps://github.com/graphql-java/graphql-java/pull/2892/files#diff-06614010d4bc37393c4f6add6f76114627a2c1f49d0cd39fec6b481e1e399148
View file https://github.com/graphql-java/graphql-java/blob/0bd81e7c09fa60ad5a43ee119e4e271e69bc085e/src/main/java/graphql/ParseAndValidate.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/graphql-java/graphql-java/pull/2892/{{ revealButtonHref }}
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-06614010d4bc37393c4f6add6f76114627a2c1f49d0cd39fec6b481e1e399148
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-06614010d4bc37393c4f6add6f76114627a2c1f49d0cd39fec6b481e1e399148
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-06614010d4bc37393c4f6add6f76114627a2c1f49d0cd39fec6b481e1e399148
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-06614010d4bc37393c4f6add6f76114627a2c1f49d0cd39fec6b481e1e399148
src/main/java/graphql/parser/GraphqlAntlrToLanguage.javahttps://github.com/graphql-java/graphql-java/pull/2892/files#diff-e7e71d9b47cbc63be18e541cc41d41e9e9d2534a8125eab8739c9616c6822070
View file https://github.com/graphql-java/graphql-java/blob/0bd81e7c09fa60ad5a43ee119e4e271e69bc085e/src/main/java/graphql/parser/GraphqlAntlrToLanguage.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/graphql-java/graphql-java/pull/2892/{{ revealButtonHref }}
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-e7e71d9b47cbc63be18e541cc41d41e9e9d2534a8125eab8739c9616c6822070
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-e7e71d9b47cbc63be18e541cc41d41e9e9d2534a8125eab8739c9616c6822070
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-e7e71d9b47cbc63be18e541cc41d41e9e9d2534a8125eab8739c9616c6822070
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-e7e71d9b47cbc63be18e541cc41d41e9e9d2534a8125eab8739c9616c6822070
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-e7e71d9b47cbc63be18e541cc41d41e9e9d2534a8125eab8739c9616c6822070
src/main/java/graphql/parser/Parser.javahttps://github.com/graphql-java/graphql-java/pull/2892/files#diff-24ba77f7c181cfd66deb300610d9d36d8ad43a42defd2d8d899da88a8c77f989
View file https://github.com/graphql-java/graphql-java/blob/0bd81e7c09fa60ad5a43ee119e4e271e69bc085e/src/main/java/graphql/parser/Parser.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/graphql-java/graphql-java/pull/2892/{{ revealButtonHref }}
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-24ba77f7c181cfd66deb300610d9d36d8ad43a42defd2d8d899da88a8c77f989
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-24ba77f7c181cfd66deb300610d9d36d8ad43a42defd2d8d899da88a8c77f989
andimarekhttps://github.com/andimarek
Jul 26, 2022https://github.com/graphql-java/graphql-java/pull/2892/files#r929415622
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/graphql-java/graphql-java/pull/2892/files
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-24ba77f7c181cfd66deb300610d9d36d8ad43a42defd2d8d899da88a8c77f989
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-24ba77f7c181cfd66deb300610d9d36d8ad43a42defd2d8d899da88a8c77f989
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-24ba77f7c181cfd66deb300610d9d36d8ad43a42defd2d8d899da88a8c77f989
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-24ba77f7c181cfd66deb300610d9d36d8ad43a42defd2d8d899da88a8c77f989
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-24ba77f7c181cfd66deb300610d9d36d8ad43a42defd2d8d899da88a8c77f989
src/main/java/graphql/parser/ParserOptions.javahttps://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
View file https://github.com/graphql-java/graphql-java/blob/0bd81e7c09fa60ad5a43ee119e4e271e69bc085e/src/main/java/graphql/parser/ParserOptions.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/graphql-java/graphql-java/pull/2892/{{ revealButtonHref }}
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
andimarekhttps://github.com/andimarek
Jul 26, 2022https://github.com/graphql-java/graphql-java/pull/2892/files#r929420793
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/graphql-java/graphql-java/pull/2892/files
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
https://github.com/graphql-java/graphql-java/pull/2892/files#diff-cc1fab9887f0cf77d8caf9afdf45a006206cf0a572a09b1c4992af7c06ce53f6
Please reload this pagehttps://github.com/graphql-java/graphql-java/pull/2892/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.