Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Issues
  • #6342
Closed
Open
Issue created May 17, 2020 by Administrator@rootContributor5 of 5 checklist items completed5/5 checklist items

[BUG] [Server: C++] [Qt5] Incomplete Read JSON

Created by: natanlaverde

Bug Report Checklist

  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator?
  • What's the version of OpenAPI Generator used?
  • Have you search for related issues/PRs?
  • What's the actual output vs expected output?
Description

If the HTTP(S) request spans to several TCP segments, the method process in class ApiRequestHandler will emit the signal requestReceived immediately after be called. This signal is received by ApiRouter that calls ApiRequest requested method, that will try to read the Json content by calling QHttpEngine::Socket::readJson. At this moment, the content received by the socket could not be complete yet, causing an QJsonParseError and returning a 400 Bad Request to the request peer.

openapi-generator version

5.0.0-SNAPSHOT (master).

OpenAPI declaration file content or url

N/A.

Command line used for generation

java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml
-g cpp-qt5-qhttpengine-server
-o /tmp/server/petstore/cpp-qt5-qhttpengine-server

Steps to reproduce

The problem was intermittent, but if will try with a sufficiently huge request this bug will probably occor.

Related issues/PRs

N/A.

Suggest a fix

We could use the same approach of the parent class QHttpEngine::QObjectHandler::process. Compare the number of Bytes Available with the Content Length before emit the signal requestReceived.

Assignee
Assign to
Time tracking