Commit Graph

75 Commits

Author SHA1 Message Date
ehyche
95ef1bf62e Swift3: properly percent-escape path parameters (#6705)
* Add addiitional files from upstream

* Remove mis-added files

* Swift3: Properly percent-escape path parameters

This change fixes the following issue:

https://github.com/swagger-api/swagger-codegen/issues/6400

The problem was that path parameters were not properly percent-escaped before being placed into the URL path. This leads to creation of an invalid URL, which then fails.

So therefore, in the API template where path parameters are handled, we propertly percent escape them, using the characters which are allowed in URL paths.

In addition to this template change, then this PR includes the following changes:

1. Resulting changes in all generated code due to the above template change.
2. I added the objcCompatible run to the swift3-petstore-all.sh so that I could re-generated all of the generated code with a single script.
3. I added a unit test in UserAPITests.swift which verifies that paths are properly escaped.
4. In order to make the unit test work, then I needed access to RequestBuilder<T>.URLString to verify that the path was properly escaped. However, RequestBuilder<T>.URLString had "internal" access control so it was inaccessible from the unit test. So therefore, I made four contants in RequestBuilder<T> to be public. This should not harm anything, since they are constants ("let's") and cannot be changed from the outside of the class after initialization.
5. There were also some stray changes which look like they were caused by having not run bin/swift3-petstore-all.sh in a while.
2017-10-30 15:40:00 +08:00
Akito Nozaki
25812fc526 Swift3: non dictionary body type (#6531)
* Adding support for non dictionary body types.

* Adding test for rest of the swift3 types

* Cleaning up implementation of makeRequest and adding better error handling.

* Adding ClientError for error produced before request is sent.

* Changing how encoding of body data is handled.

* Cleaning up code that was modified.
2017-09-29 00:16:32 +08:00
jaz-ah
565844585e [Swift3/Swift4] update all cocoapods for swift3/swift4 (#6441)
* [Swift] update all cocoapods for swift3/swift4

* fix subspec specification
2017-09-07 00:56:48 +08:00
jaz-ah
19694ae4e3 [Swift3] Make sure decode doesn't fail on optional arguments (#6423)
* two fixes: 1) extra ?'s at end of some url's 2) enums not being called out w/ rawValue to get the proper string name

* update samples

* one step closer

* closer implementation

* break on optional decode failing since it's an optional we don't want to fail the whole decode

* update samples
2017-09-03 22:30:42 +08:00
jaz-ah
b19fa25521 [Swift3] Missing decoders for Array elements (#6422)
* two fixes: 1) extra ?'s at end of some url's 2) enums not being called out w/ rawValue to get the proper string name

* update samples

* one step closer

* closer implementation

* add back in array decoders

* regenerate samples
2017-09-03 22:30:21 +08:00
jaz-ah
b0db394855 [Swift3] fix for unwrapRequired compilation when we have a "result" as one of the parameters (#6377)
* two fixes: 1) extra ?'s at end of some url's 2) enums not being called out w/ rawValue to get the proper string name

* update samples

* one step closer

* closer implementation

* fix unwrapRequired models when we have a parameter named result
2017-08-30 00:01:47 +08:00
Ahmet Taha Sakar
17b71f1707 Swift3 arrayenums (#6354)
* added headers to makeRequest function for swift3 template

* added support for enum arrays
2017-08-28 15:08:28 +08:00
jaz-ah
1b05960a74 [Swift3] Fix unwrapRequired parameter which wouldn't compile (#6340)
* two fixes: 1) extra ?'s at end of some url's 2) enums not being called out w/ rawValue to get the proper string name

* update samples

* one step closer

* closer implementation

* fix build when using unwrapRequired option
2017-08-25 18:19:26 +08:00
Ahmet Taha Sakar
da4fe86402 Swift3 xcodewarnings (#6298)
* added headers to makeRequest function for swift3 template

* Swift3 update to dismiss Xcode warnings
2017-08-13 13:09:23 +08:00
Hans-Christian Esperer
3cb36738b1 Fix issue #6212 POD Generated podfile doesn't include all generated swift files #6212 (#6220)
* Reference all generated swift files in the podfile

* Update test files
2017-08-04 00:46:01 +08:00
wing328
8c487d5dbe update python ,swift petstore sample 2017-08-02 21:23:06 +08:00
Alessandro
faa62ee40c Swift3 code enhancements (#6034)
* Improve generated code in APIs so to use the most of Swift SDK
Improve generated code in APIHelper so to remove duplicated code and reuse existing checks

* run ./bin/swift3-petstore.sh

* Run ./bin/swift3-petstore-all.sh to update all the Petstore samples

* Restore old implementation and fix using .isEmpty in place of .count

* Run scripts to update pet store samples

* Reverte changes that use reduce

* Bug fixes on APIHelper template
2017-07-21 21:43:21 +08:00
David Pasztor
1fd5e79180 run ./bin/swift3-petstore-all.sh 2017-07-19 15:27:14 +01:00
wing328
b852e61ee9 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-07-09 00:59:41 +08:00
Julien Fouilhé
c2b575607c fix(swift3): add en_US_POSIX locale to date formatters (#5602) 2017-07-04 11:21:25 +08:00
wing328
4fb4887fec pod install for swift3 clients 2017-06-19 15:17:30 +08:00
wing328
c988afa766 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-06-19 11:23:58 +08:00
Ahmet Taha Sakar
3ced146a65 Swift3 configuration (#5725)
* added headers to makeRequest function for swift3 template

* Added configuration file to Swift3 template

* added comments about the value read only once

* added comments about the value read only once

* comments fix

* Added Configuration.swift to Project File

* swift 3 promisekit, rxswift updates
2017-06-17 00:25:03 +08:00
wing328
b7fe612cc7 minor code format enhancement to swift3 client 2017-06-11 13:31:45 +08:00
Jason Gavris
ef8365ecd2 [Swift3] Fix handling of query item with array value (#5684) 2017-06-11 12:30:51 +08:00
wing328
001960a2c2 remove podfile for promisekit/rxswift of swift3 petstore 2017-06-06 00:34:22 +08:00
wing328
87bbbc1a1b Merge remote-tracking branch 'origin/master' into 230_merge_master 2017-06-05 23:27:11 +08:00
wing328
6ee332a513 [Swift] Fix issue with Swift Petstore integration tests due to pod install (#5774)
* add pod file for swift3

* skip pod install

* avoid pod install in swift3 petstore (promisekit,rxswift)

* use https instead of http for cocoapod spec

* avoid timeout in swift3 test
2017-06-05 22:22:56 +08:00
wing328
faf082589d Enable Travis CI tests for Swift, ObjC clients and move some tests to CircleCI (#5687)
* enable travis CI tests for swift, objc, move some tests to circleci

* fix comment in xml file

* use xcode8.3

* use ruby 2.2.5

* fix objc core data pom.xml

* use cocoapods 1.2.1

* use xcpretty for clearer test results

* fix pom with relative path to script

* comment out objc test

* fix xcpretty exit code

* add && exit ${PIPESTATUS[0]} for swift3 xcodebuild script

* use xcode 8.2

* update promisekit version for swift 2x, 3x

* add pod repo update

* remove Pods directory

* update swift dependencies to the latest version

* update podfile.lock

* rollback Alamofire to 4.0 for swift3

* fix swift3 rxswift api cliiet

* fix testDeletePet test in Swift3 rxswift petstore

* update clojure petstore

* comment out clojure test in travis (already covered in circleci)

* run pestore server locally

* use wing328/swagger-samples to run petstore

* run petstore server in the background

* test ruby petstore client

* add /Users/travis/.cocoapods/repos/master to cache

* add back ruby test, use public pestore server

* add back bash client test

* add npm config set registry to avoid time out

* use docker branch in swagger samples

* remove bash test

* show go version, reorder

* debug go petstore client

* reinstall go

* comment out pod repo update

* uncomment pod repo update

* test go in circleci

* remove go from travis test

* brew install sbt
2017-06-05 15:43:20 +08:00
wing328
bd2f03f1c0 update objc, swift2,3 petstore samples 2017-05-18 17:22:20 +08:00
Jason Gavris
97a4bacc4e [Swift3] Use thread safe manager dictionary (#5610) 2017-05-17 23:35:49 +08:00
wing328
5c17cb3a78 Merge branch 'swift-2.3.0-models' of https://github.com/ButterflyNetwork/swagger-codegen into ButterflyNetwork-swift-2.3.0-models 2017-05-17 22:34:33 +08:00
wing328
e1e5ac4d37 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-17 22:00:06 +08:00
wing328
0a67696de8 Merge branch 'empty_classes' of https://github.com/bbdouglas/swagger-codegen into bbdouglas-empty_classes 2017-05-16 17:51:42 +08:00
wing328
1fc969b050 Merge branch 'sync_samples' of https://github.com/bbdouglas/swagger-codegen into bbdouglas-sync_samples 2017-05-16 16:51:41 +08:00
Jason Gavris
b582c46e4b [Swift3] Fix compilation of models file 2017-05-10 12:05:07 -04:00
wing328
45ff39c237 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-10 18:04:49 +08:00
Vincent Coetzee
409638676e Added code to templates to ensure correct generation of code for Swift3 (#5390)
* Added code to templates to ensure generation of code for Swift3 that builds on both Apple platforms and Linux. Fixed a bug in the Model decoders that prevented code from building for Linux

* Ran the script to generate the PetStore API
2017-05-08 18:26:30 +08:00
Benjamin Douglas
34d9dca5e7 Update samples to current code/scripts
This is the result of

  - `$ git checkout master`
  - `$ bin/run-all-petstore`

No change was made to the code, just ran the aggregate sample generation
script.
2017-05-02 10:33:06 -07:00
wing328
413a00ef40 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-03 00:09:14 +08:00
wing328
0c5cc4621a Merge remote-tracking branch 'origin/master' into 2.3.0 2017-04-23 23:07:28 +08:00
wing328
56d4382d75 update swift3 petstore samples 2017-04-23 23:06:16 +08:00
wing328
f7cbb2c0e6 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-04-23 15:26:15 +08:00
Julien Fouilhé
edb80df0ba fix(swift3): fix infinite loop with inheritance and check if parent decoder exists before calling (#5416) 2017-04-20 22:54:35 +08:00
Julien Fouilhé
c65e663a11 fix(swift3): decoders call parents decoders too (#5433) 2017-04-20 22:54:01 +08:00
Benjamin Douglas
9058099e5b Add alias type definitions for Java
When a spec defines a Model at the top level that is a non-aggretate type (such
as string, number or boolean), it essentially represents an alias for the simple
type. For example, the following spec snippet creates an alias of the boolean
type that for all intents and purposes acts just like a regular boolean.

    definitions:
      JustABoolean:
        type: boolean

This can be modeled in some languages through built-in mechanisms, such as
typedefs in C++. Java, however, just not have a clean way of representing this.

This change introduces an internal mechanism for representing aliases. It
maintains a map in DefaultCodegen that tracks these types of definitions, and
wherever it sees the "JustABoolean" type in the spec, it generates code that
uses the built-in "Boolean" instead.

This functionality currenlty only applies to Java, but could be extended to
other languages later.

The change adds a few examples of this to the fake endpoint spec for testing,
which means all of the samples change as well.
2017-04-17 12:58:31 -07:00
Julien Fouilhé
b1a39ac820 fix(swift3): decoders call parents decoders too (#5369) 2017-04-18 00:03:52 +08:00
wing328
7991cf75ae Merge remote-tracking branch 'origin/master' into 2.3.0 2017-04-10 23:21:36 +08:00
Ahmet Taha Sakar
c6959b0d21 Swift3 headers (#5340)
* added headers to makeRequest function for swift3 template

* petstore update
2017-04-10 22:36:22 +08:00
wing328
cf8a9a0de0 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-04-03 14:54:50 +08:00
Paŭlo Ebermann
ce41a343d8 Updating all samples (except feign) (#5281) 2017-04-02 17:01:15 +08:00
wing328
bfa18a0ce8 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-04-01 16:39:54 +08:00
Griffin Schneider
5de19e3214 [Swift3] Fix bug where non-camel-case path params didn't work. (#5267)
* [Swift3] Fix bug where non-camel-case path params didn't work.

* [Swift3] Fix bug where int enums generated non-compiling code. Swift3 integration tests now pass.

* [Swift3] Add a non-camel-case path parameter to petstore-with-fake-endpoints-models-for-testing. This would have caused the Swift3 tests to be broken before 7387e49fef56a624045aa52b65ffb9c19b3853ec.
2017-04-01 16:06:31 +08:00
wing328
ad4de91d92 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-03-30 09:57:07 +08:00
Paŭlo Ebermann
db71d97370 Updating samples after #5232. (#5243)
* Updating samples after #5232.

* Fix tests after #5232.

* Fix Javascript client tests.

* JaxRS server: set serverPort only when not given from outside.

* Update JaxRS sample creator scripts to fix serverPort.

* Preliminary test fix for JaxRS server generators.

* Updating samples for JaxRS with Jersey1/2.

* Updating JaxRS samples again.
2017-03-30 01:28:53 +08:00