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
  • Merge requests
  • !2504

[Rust Server] Improve XML support

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge github/fork/Metaswitch/rust-server-xml into master Mar 25, 2019
  • Overview 0
  • Commits 1
  • Pipelines 0
  • Changes 50

Created by: richardwhiuk

CC: Rust technical committee - @frol @farcaller @bjgill

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

This change significantly improves rust-server's support for generating APIs with XML bodies.

  • Restore XML namespace support which was lost in OpenAPI upgrade
  • Remove non snake case rust warning for xml wrap_in methods
  • Add XML rust-server tests
  • Fix wrapping XML arrays when a property of another object

As part of this it makes a couple of core changes to Rust Server's code generator

  • Run all tests, not just those for OpenAPI 2.0
  • Force wrapping (aliasing) for rust-server - this is required because Rust doesn't allow implementing traits on types which the user doesn't own. Note, with wrapping disabled, the current generator creates code which doesn't compile.

The majority of this code was originally written by @bjgil. Additional fixes were contributed by myself, and others at @metaswitch.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/Metaswitch/rust-server-xml