Merge branch 'develop_2.0' of https://github.com/swagger-api/swagger-codegen into develop_2.0-fork

This commit is contained in:
Raghav Sidhanti
2015-06-24 11:25:32 -07:00
106 changed files with 5291 additions and 3581 deletions

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>15AAFA18-9D61-437F-988D-A691BA4C08B1</string>
<key>IDESourceControlProjectName</key>
<string>SwaggerClient</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>E5BBF0AA85077C865C95437976D06D819733A208</key>
<string>https://github.com/geekerzp/swagger-codegen.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>samples/client/petstore/objc/SwaggerClient.xcworkspace</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>E5BBF0AA85077C865C95437976D06D819733A208</key>
<string>../../../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://github.com/geekerzp/swagger-codegen.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>E5BBF0AA85077C865C95437976D06D819733A208</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>E5BBF0AA85077C865C95437976D06D819733A208</string>
<key>IDESourceControlWCCName</key>
<string>swagger-codegen</string>
</dict>
</array>
</dict>
</plist>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "0"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
scope = "0"
stopOnStyle = "0">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@@ -10,6 +10,9 @@
BA525648922D4C0E9F44D4F1 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 73DA4F1067C343C3962F1542 /* libPods.a */; };
CF0560EB1B1855CF00C0D4EC /* SWGConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = CF0560EA1B1855CF00C0D4EC /* SWGConfiguration.m */; };
CF31D0991B105E4B00509935 /* SWGApiClientTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CF31D0981B105E4B00509935 /* SWGApiClientTest.m */; };
CF5B6E2D1B2BD70800862A1C /* UserApiTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CF5B6E2C1B2BD70800862A1C /* UserApiTest.m */; };
CFB37D061B2B11DD00D2E5F1 /* StoreApiTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CFB37D051B2B11DC00D2E5F1 /* StoreApiTest.m */; };
CFCEFE511B2C1330006313BE /* SWGJSONResponseSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = CFCEFE501B2C1330006313BE /* SWGJSONResponseSerializer.m */; };
CFD1B6701B05EC7D00DCCD51 /* JSONValueTransformer+ISO8601.m in Sources */ = {isa = PBXBuildFile; fileRef = CFD1B66F1B05EC7D00DCCD51 /* JSONValueTransformer+ISO8601.m */; };
CFD1B6711B05EC7D00DCCD51 /* JSONValueTransformer+ISO8601.m in Sources */ = {isa = PBXBuildFile; fileRef = CFD1B66F1B05EC7D00DCCD51 /* JSONValueTransformer+ISO8601.m */; };
EA66999A1811D2FA00A70D03 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA6699991811D2FA00A70D03 /* Foundation.framework */; };
@@ -60,6 +63,10 @@
CF0560E91B1855CF00C0D4EC /* SWGConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SWGConfiguration.h; sourceTree = "<group>"; };
CF0560EA1B1855CF00C0D4EC /* SWGConfiguration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWGConfiguration.m; sourceTree = "<group>"; };
CF31D0981B105E4B00509935 /* SWGApiClientTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWGApiClientTest.m; sourceTree = "<group>"; };
CF5B6E2C1B2BD70800862A1C /* UserApiTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserApiTest.m; sourceTree = "<group>"; };
CFB37D051B2B11DC00D2E5F1 /* StoreApiTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StoreApiTest.m; sourceTree = "<group>"; };
CFCEFE4F1B2C1330006313BE /* SWGJSONResponseSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SWGJSONResponseSerializer.h; sourceTree = "<group>"; };
CFCEFE501B2C1330006313BE /* SWGJSONResponseSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWGJSONResponseSerializer.m; sourceTree = "<group>"; };
CFD1B66E1B05EC7D00DCCD51 /* JSONValueTransformer+ISO8601.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "JSONValueTransformer+ISO8601.h"; sourceTree = "<group>"; };
CFD1B66F1B05EC7D00DCCD51 /* JSONValueTransformer+ISO8601.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "JSONValueTransformer+ISO8601.m"; sourceTree = "<group>"; };
E2B6DA00BE52336E23783686 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "../Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = "<group>"; };
@@ -212,6 +219,8 @@
isa = PBXGroup;
children = (
EA8CD3EB1AC274BE00C47D0B /* PetApiTest.h */,
CF5B6E2C1B2BD70800862A1C /* UserApiTest.m */,
CFB37D051B2B11DC00D2E5F1 /* StoreApiTest.m */,
CF31D0981B105E4B00509935 /* SWGApiClientTest.m */,
EA6699C71811D2FB00A70D03 /* PetApiTest.m */,
EA6699C21811D2FB00A70D03 /* Supporting Files */,
@@ -248,6 +257,8 @@
EAEA85D61811D3AE00F06E69 /* SWGOrder.h */,
EAEA85D71811D3AE00F06E69 /* SWGOrder.m */,
EAB26B0E1AC8E692002F5C7A /* SWGPet.h */,
CFCEFE4F1B2C1330006313BE /* SWGJSONResponseSerializer.h */,
CFCEFE501B2C1330006313BE /* SWGJSONResponseSerializer.m */,
EAEA85D91811D3AE00F06E69 /* SWGPet.m */,
EAEA85DA1811D3AE00F06E69 /* SWGPetApi.h */,
EAEA85DB1811D3AE00F06E69 /* SWGPetApi.m */,
@@ -415,6 +426,7 @@
EAEA85E91811D3AE00F06E69 /* SWGOrder.m in Sources */,
EAEA85E81811D3AE00F06E69 /* SWGObject.m in Sources */,
EA8B8AA41AC6683700638FBB /* SWGQueryParamCollection.m in Sources */,
CFCEFE511B2C1330006313BE /* SWGJSONResponseSerializer.m in Sources */,
EAEA85E71811D3AE00F06E69 /* SWGFile.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -426,6 +438,8 @@
EAB26B0C1AC8DF78002F5C7A /* PetApiTest.h in Sources */,
CFD1B6711B05EC7D00DCCD51 /* JSONValueTransformer+ISO8601.m in Sources */,
EAB26B0D1AC8DF78002F5C7A /* PetApiTest.m in Sources */,
CF5B6E2D1B2BD70800862A1C /* UserApiTest.m in Sources */,
CFB37D061B2B11DD00D2E5F1 /* StoreApiTest.m in Sources */,
CF31D0991B105E4B00509935 /* SWGApiClientTest.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;

View File

@@ -8,6 +8,8 @@
#import "ViewController.h"
#import "SWGPetApi.h"
#import "SWGStoreApi.h"
#import "SWGUserApi.h"
#import "SWGConfiguration.h"
@interface ViewController ()
@@ -54,14 +56,14 @@
// }
];
*/
SWGConfiguration *config = [SWGConfiguration sharedConfig];
config.username = @"foo";
config.password = @"bar";
SWGPetApi *api = [[SWGPetApi alloc] init];
[api addPetWithCompletionBlock:nil
completionHandler:^(NSError *error) {
}];
[api deletePetWithCompletionBlock:@"hello"
petId:@1434529787992
completionHandler:^(NSError *error) {
if (error) {
NSLog(@"%@", error);
}
}];
}
- (void)didReceiveMemoryWarning

View File

@@ -98,4 +98,77 @@
XCTAssertEqualObjects(basicAuthCredentials, [config getBasicAuthToken]);
}
- (void)testDeserialize {
id data;
id result;
// list of models
data =
@[
@{
@"id": @119,
@"category": @{
@"id": @0,
@"name": @"string"
},
@"name": @"doggie",
@"photoUrls": @[
@"string"
],
@"tags": @[
@{
@"id": @0,
@"name": @"string"
}
],
@"status": @"available"
}];
result = [self.apiClient deserialize:data class:@"NSArray<SWGPet>*"];
XCTAssertTrue([result isKindOfClass:[NSArray class]]);
XCTAssertTrue([[result firstObject] isKindOfClass:[SWGPet class]]);
XCTAssertEqualObjects([[result firstObject] _id], @119);
// map of models
data =
@{
@"pet": @{
@"id": @119,
@"category": @{
@"id": @0,
@"name": @"string"
},
@"name": @"doggie",
@"photoUrls": @[
@"string"
],
@"tags": @[
@{
@"id": @0,
@"name": @"string"
}
],
@"status": @"available"
}
};
result = [self.apiClient deserialize:data class:@"NSDictionary* /* NSString, SWGPet */"];
XCTAssertTrue([result isKindOfClass:[NSDictionary class]]);
XCTAssertTrue([result[@"pet"] isKindOfClass:[SWGPet class]]);
XCTAssertEqualObjects([result[@"pet"] _id], @119);
// pure object
result = [self.apiClient deserialize:@"" class:@"NSObject*"];
XCTAssertTrue([result isKindOfClass:[NSObject class]]);
// NSString
data = @"test string";
result = [self.apiClient deserialize:data class:@"NSString*"];
XCTAssertTrue([result isKindOfClass:[NSString class]]);
}
@end

View File

@@ -0,0 +1,44 @@
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
#import "SWGStoreApi.h"
@interface StoreApiTest : XCTestCase
@property (nonatomic) SWGStoreApi *api;
@end
@implementation StoreApiTest
- (void)setUp {
[super setUp];
self.api = [[SWGStoreApi alloc] init];
}
- (void)tearDown {
[super tearDown];
}
- (void)testGetInventory {
XCTestExpectation *expectation = [self expectationWithDescription:@"testGetPetByStatus"];
[self.api getInventoryWithCompletionBlock:^(NSDictionary *output, NSError *error) {
if (error) {
XCTFail(@"got error %@", error);
}
if (!output) {
XCTFail(@"failed to fetch inventory");
}
XCTAssertNotNil(output.allKeys);
[expectation fulfill];
}];
[self waitForExpectationsWithTimeout:10.0 handler:nil];
}
@end

View File

@@ -0,0 +1,47 @@
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
#import "SWGUserApi.h"
@interface UserApiTest : XCTestCase
@property (nonatomic) SWGUserApi *api;
@end
@implementation UserApiTest
- (void)setUp {
[super setUp];
self.api = [[SWGUserApi alloc] init];
}
- (void)tearDown {
[super tearDown];
}
- (void)testLoginUser {
XCTestExpectation *expectation = [self expectationWithDescription:@"test login user"];
[self.api loginUserWithCompletionBlock:@"test username" password:@"test password" completionHandler:^(NSString *output, NSError *error) {
if (error) {
XCTFail(@"got error %@", error);
}
if (!output) {
XCTFail(@"response can't be nil");
}
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"logged in user"
options:0
error:nil];
NSTextCheckingResult *match = [regex firstMatchInString:output
options:0
range:NSMakeRange(0, [output length])];
XCTAssertNotNil(match);
[expectation fulfill];
}];
[self waitForExpectationsWithTimeout:10.0 handler:nil];
}
@end

View File

@@ -1,5 +1,14 @@
#import <Foundation/Foundation.h>
#import <ISO8601/ISO8601.h>
#import "AFHTTPRequestOperationManager.h"
#import "SWGJSONResponseSerializer.h"
#import "SWGUser.h"
#import "SWGCategory.h"
#import "SWGPet.h"
#import "SWGTag.h"
#import "SWGOrder.h"
/**
* A key for `NSError` user info dictionaries.
@@ -159,37 +168,16 @@ extern NSString *const SWGResponseObjectErrorKey;
WithAuthSettings:(NSArray *)authSettings;
/**
* Perform request
* Deserialize the given data to Objective-C object.
*
* Request with non-empty response
*
* @param path Request url.
* @param method Request method.
* @param queryParams Request query parameters.
* @param body Request body.
* @param headerParams Request header parameters.
* @param authSettings Request authentication names.
* @param requestContentType Request content-type.
* @param responseContentType Response content-type.
* @param completionBlock The block will be executed when the request completed.
*
* @return The request id.
* @param data The data will be deserialized.
* @param class The type of objective-c object.
*/
-(NSNumber*) dictionary:(NSString*) path
method:(NSString*) method
queryParams:(NSDictionary*) queryParams
body:(id) body
headerParams:(NSDictionary*) headerParams
authSettings: (NSArray *) authSettings
requestContentType:(NSString*) requestContentType
responseContentType:(NSString*) responseContentType
completionBlock:(void (^)(NSDictionary*, NSError *))completionBlock;
- (id) deserialize:(id) data class:(NSString *) class;
/**
* Perform request
*
* Request with empty response
*
* @param path Request url.
* @param method Request method.
* @param queryParams Request query parameters.
@@ -202,15 +190,18 @@ extern NSString *const SWGResponseObjectErrorKey;
*
* @return The request id.
*/
-(NSNumber*) stringWithCompletionBlock:(NSString*) path
method:(NSString*) method
queryParams:(NSDictionary*) queryParams
body:(id) body
headerParams:(NSDictionary*) headerParams
authSettings: (NSArray *) authSettings
requestContentType:(NSString*) requestContentType
responseContentType:(NSString*) responseContentType
completionBlock:(void (^)(NSString*, NSError *))completionBlock;
-(NSNumber*) requestWithCompletionBlock:(NSString*) path
method:(NSString*) method
queryParams:(NSDictionary*) queryParams
body:(id) body
headerParams:(NSDictionary*) headerParams
authSettings: (NSArray *) authSettings
requestContentType:(NSString*) requestContentType
responseContentType:(NSString*) responseContentType
completionBlock:(void (^)(id, NSError *))completionBlock;
@end

View File

@@ -351,179 +351,139 @@ static bool loggingEnabled = true;
*querys = [NSDictionary dictionaryWithDictionary:querysWithAuth];
}
#pragma mark - Perform Request Methods
#pragma mark - Deserialize methods
-(NSNumber*) dictionary: (NSString*) path
method: (NSString*) method
queryParams: (NSDictionary*) queryParams
body: (id) body
headerParams: (NSDictionary*) headerParams
authSettings: (NSArray *) authSettings
requestContentType: (NSString*) requestContentType
responseContentType: (NSString*) responseContentType
completionBlock: (void (^)(NSDictionary*, NSError *))completionBlock {
// setting request serializer
if ([requestContentType isEqualToString:@"application/json"]) {
self.requestSerializer = [AFJSONRequestSerializer serializer];
}
else if ([requestContentType isEqualToString:@"application/x-www-form-urlencoded"]) {
self.requestSerializer = [AFHTTPRequestSerializer serializer];
}
else if ([requestContentType isEqualToString:@"multipart/form-data"]) {
self.requestSerializer = [AFHTTPRequestSerializer serializer];
}
else {
NSAssert(false, @"unsupport request type %@", requestContentType);
- (id) deserialize:(id) data class:(NSString *) class {
NSRegularExpression *regexp = nil;
NSTextCheckingResult *match = nil;
NSMutableArray *resultArray = nil;
NSMutableDictionary *resultDict = nil;
// return nil if data is nil
if (!data) {
return nil;
}
// setting response serializer
if ([responseContentType isEqualToString:@"application/json"]) {
self.responseSerializer = [AFJSONResponseSerializer serializer];
// remove "*" from class, if ends with "*"
if ([class hasSuffix:@"*"]) {
class = [class substringToIndex:[class length] - 1];
}
else {
self.responseSerializer = [AFHTTPResponseSerializer serializer];
// pure object
if ([class isEqualToString:@"NSObject"]) {
return [[NSObject alloc] init];
}
// list of models
NSString *arrayOfModelsPat = @"NSArray<(.+)>";
regexp = [NSRegularExpression regularExpressionWithPattern:arrayOfModelsPat
options:NSRegularExpressionCaseInsensitive
error:nil];
match = [regexp firstMatchInString:class
options:0
range:NSMakeRange(0, [class length])];
if (match) {
NSString *innerType = [class substringWithRange:[match rangeAtIndex:1]];
resultArray = [NSMutableArray arrayWithCapacity:[data count]];
[data enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[resultArray addObject:[self deserialize:obj class:innerType]];
}
];
return resultArray;
}
// list of primitives
NSString *arrayOfPrimitivesPet = @"NSArray";
regexp = [NSRegularExpression regularExpressionWithPattern:arrayOfPrimitivesPet
options:NSRegularExpressionCaseInsensitive
error:nil];
match = [regexp firstMatchInString:class
options:0
range:NSMakeRange(0, [class length])];
if (match) {
resultArray = [NSMutableArray arrayWithCapacity:[data count]];
[data enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[resultArray addObject:[self deserialize:obj class:NSStringFromClass([obj class])]];
}];
return resultArray;
}
// map
NSString *dictPat = @"NSDictionary\\* /\\* (.+), (.+) \\*/";
regexp = [NSRegularExpression regularExpressionWithPattern:dictPat
options:NSRegularExpressionCaseInsensitive
error:nil];
match = [regexp firstMatchInString:class
options:0
range:NSMakeRange(0, [class length])];
if (match) {
NSString *valueType = [class substringWithRange:[match rangeAtIndex:2]];
resultDict = [NSMutableDictionary dictionaryWithCapacity:[data count]];
[data enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[resultDict setValue:[self deserialize:obj class:valueType] forKey:key];
}];
return resultDict;
}
// auth setting
[self updateHeaderParams:&headerParams queryParams:&queryParams WithAuthSettings:authSettings];
// primitives
NSArray *primitiveTypes = @[@"NSString", @"NSDate", @"BOOL", @"NSNumber"];
NSMutableURLRequest * request = nil;
if (body != nil && [body isKindOfClass:[NSArray class]]){
SWGFile * file;
NSMutableDictionary * params = [[NSMutableDictionary alloc] init];
for(id obj in body) {
if([obj isKindOfClass:[SWGFile class]]) {
file = (SWGFile*) obj;
requestContentType = @"multipart/form-data";
if ([primitiveTypes containsObject:class]) {
if ([class isEqualToString:@"NSString"]) {
return [NSString stringWithString:data];
}
else if ([class isEqualToString:@"NSDate"]) {
return [NSDate dateWithISO8601String:data];
}
else if ([class isEqualToString:@"BOOL"]) {
// Returns YES on encountering one of "Y", "y", "T", "t", or a
// digit 1-9the method ignores any trailing characters
// NSString => BOOL => NSNumber
return [NSNumber numberWithBool:[data boolValue]];
}
else if ([class isEqualToString:@"NSNumber"]) {
// NSNumber from NSNumber
if ([data isKindOfClass:[NSNumber class]]) {
return data;
}
else if([obj isKindOfClass:[NSDictionary class]]) {
for(NSString * key in obj) {
params[key] = obj[key];
}
// NSNumber from NSString
else {
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
return [formatter numberFromString:data];
}
}
NSString * urlString = [[NSURL URLWithString:path relativeToURL:self.baseURL] absoluteString];
// request with multipart form
if([requestContentType isEqualToString:@"multipart/form-data"]) {
request = [self.requestSerializer multipartFormRequestWithMethod: @"POST"
URLString: urlString
parameters: nil
constructingBodyWithBlock: ^(id<AFMultipartFormData> formData) {
for(NSString * key in params) {
NSData* data = [params[key] dataUsingEncoding:NSUTF8StringEncoding];
[formData appendPartWithFormData: data name: key];
}
if (file) {
[formData appendPartWithFileData: [file data]
name: [file paramName]
fileName: [file name]
mimeType: [file mimeType]];
}
}
error:nil];
}
// request with form parameters or json
else {
NSString* pathWithQueryParams = [self pathWithQueryParamsToString:path queryParams:queryParams];
NSString* urlString = [[NSURL URLWithString:pathWithQueryParams relativeToURL:self.baseURL] absoluteString];
request = [self.requestSerializer requestWithMethod:method
URLString:urlString
parameters:params
error:nil];
}
}
else {
NSString * pathWithQueryParams = [self pathWithQueryParamsToString:path queryParams:queryParams];
NSString * urlString = [[NSURL URLWithString:pathWithQueryParams relativeToURL:self.baseURL] absoluteString];
request = [self.requestSerializer requestWithMethod:method
URLString:urlString
parameters:body
error:nil];
}
BOOL hasHeaderParams = false;
if(headerParams != nil && [headerParams count] > 0)
hasHeaderParams = true;
if(offlineState) {
NSLog(@"%@ cache forced", path);
[request setCachePolicy:NSURLRequestReturnCacheDataDontLoad];
}
else if(!hasHeaderParams && [method isEqualToString:@"GET"] && cacheEnabled) {
NSLog(@"%@ cache enabled", path);
[request setCachePolicy:NSURLRequestUseProtocolCachePolicy];
}
else {
NSLog(@"%@ cache disabled", path);
[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
// model
Class ModelClass = NSClassFromString(class);
if ([ModelClass instancesRespondToSelector:@selector(initWithDictionary:error:)]) {
return [[ModelClass alloc] initWithDictionary:data error:nil];
}
if(body != nil) {
if([body isKindOfClass:[NSDictionary class]] || [body isKindOfClass:[NSArray class]]){
[self.requestSerializer setValue:requestContentType forHTTPHeaderField:@"Content-Type"];
}
else if ([body isKindOfClass:[SWGFile class]]) {}
else {
NSAssert(false, @"unsupported post type!");
}
}
if(headerParams != nil){
for(NSString * key in [headerParams keyEnumerator]){
[request setValue:[headerParams valueForKey:key] forHTTPHeaderField:key];
}
}
[self.requestSerializer setValue:responseContentType forHTTPHeaderField:@"Accept"];
// Always disable cookies!
[request setHTTPShouldHandleCookies:NO];
if (self.logRequests) {
[self logRequest:request];
}
NSNumber* requestId = [SWGApiClient queueRequest];
AFHTTPRequestOperation *op =
[self HTTPRequestOperationWithRequest:request
success:^(AFHTTPRequestOperation *operation, id JSON) {
if([self executeRequestWithId:requestId]) {
if(self.logServerResponses)
[self logResponse:JSON forRequest:request error:nil];
completionBlock(JSON, nil);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if([self executeRequestWithId:requestId]) {
NSMutableDictionary *userInfo = [error.userInfo mutableCopy];
if(operation.responseObject) {
// Add in the (parsed) response body.
userInfo[SWGResponseObjectErrorKey] = operation.responseObject;
}
NSError *augmentedError = [error initWithDomain:error.domain code:error.code userInfo:userInfo];
if(self.logServerResponses)
[self logResponse:nil forRequest:request error:augmentedError];
completionBlock(nil, augmentedError);
}
}
];
[self.operationQueue addOperation:op];
return requestId;
return nil;
}
-(NSNumber*) stringWithCompletionBlock: (NSString*) path
method: (NSString*) method
queryParams: (NSDictionary*) queryParams
body: (id) body
headerParams: (NSDictionary*) headerParams
authSettings: (NSArray *) authSettings
requestContentType: (NSString*) requestContentType
responseContentType: (NSString*) responseContentType
completionBlock: (void (^)(NSString*, NSError *))completionBlock {
#pragma mark - Perform Request Methods
-(NSNumber*) requestWithCompletionBlock: (NSString*) path
method: (NSString*) method
queryParams: (NSDictionary*) queryParams
body: (id) body
headerParams: (NSDictionary*) headerParams
authSettings: (NSArray *) authSettings
requestContentType: (NSString*) requestContentType
responseContentType: (NSString*) responseContentType
completionBlock: (void (^)(id, NSError *))completionBlock {
// setting request serializer
if ([requestContentType isEqualToString:@"application/json"]) {
self.requestSerializer = [AFJSONRequestSerializer serializer];
@@ -540,7 +500,7 @@ static bool loggingEnabled = true;
// setting response serializer
if ([responseContentType isEqualToString:@"application/json"]) {
self.responseSerializer = [AFJSONResponseSerializer serializer];
self.responseSerializer = [SWGJSONResponseSerializer serializer];
}
else {
self.responseSerializer = [AFHTTPResponseSerializer serializer];
@@ -648,11 +608,11 @@ static bool loggingEnabled = true;
NSNumber* requestId = [SWGApiClient queueRequest];
AFHTTPRequestOperation *op = [self HTTPRequestOperationWithRequest:request
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *response = [operation responseString];
success:^(AFHTTPRequestOperation *operation, id response) {
if([self executeRequestWithId:requestId]) {
if(self.logServerResponses)
[self logResponse:responseObject forRequest:request error:nil];
if(self.logServerResponses) {
[self logResponse:response forRequest:request error:nil];
}
completionBlock(response, nil);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
@@ -683,3 +643,4 @@ static bool loggingEnabled = true;

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
#import <AFNetworking/AFURLResponseSerialization.h>
@interface SWGJSONResponseSerializer : AFJSONResponseSerializer
@end

View File

@@ -0,0 +1,39 @@
#import "SWGJSONResponseSerializer.h"
static BOOL JSONParseError(NSError *error) {
if ([error.domain isEqualToString:NSCocoaErrorDomain] && error.code == 3840) {
return YES;
}
return NO;
}
@implementation SWGJSONResponseSerializer
///
/// When customize a response serializer,
/// the serializer must conform the protocol `AFURLResponseSerialization`
/// and implements the protocol method `responseObjectForResponse:error:`
///
/// @param response The response to be processed.
/// @param data The response data to be decoded.
/// @param error The error that occurred while attempting to decode the respnse data.
///
/// @return The object decoded from the specified response data.
///
- (id) responseObjectForResponse:(NSURLResponse *)response
data:(NSData *)data
error:(NSError *__autoreleasing *)error {
NSDictionary *responseJson = [super responseObjectForResponse:response data:data error:error];
// if response data is not a valid json, return string of data.
if (JSONParseError(*error)) {
*error = nil;
NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
return responseString;
}
return responseJson;
}
@end

View File

@@ -15,98 +15,92 @@
+(SWGPetApi*) apiWithHeader:(NSString*)headerValue key:(NSString*)key;
+(void) setBasePath:(NSString*)basePath;
+(NSString*) getBasePath;
/**
Update an existing pet
@param body Pet object that needs to be added to the store
return type:
*/
///
///
/// Update an existing pet
///
///
/// @param body Pet object that needs to be added to the store
///
///
/// @return
-(NSNumber*) updatePetWithCompletionBlock :(SWGPet*) body
completionHandler: (void (^)(NSError* error))completionBlock;
/**
Add a new pet to the store
@param body Pet object that needs to be added to the store
return type:
*/
///
///
/// Add a new pet to the store
///
///
/// @param body Pet object that needs to be added to the store
///
///
/// @return
-(NSNumber*) addPetWithCompletionBlock :(SWGPet*) body
completionHandler: (void (^)(NSError* error))completionBlock;
/**
Finds Pets by status
Multiple status values can be provided with comma seperated strings
@param status Status values that need to be considered for filter
return type: NSArray<SWGPet>*
*/
///
///
/// Finds Pets by status
/// Multiple status values can be provided with comma seperated strings
///
/// @param status Status values that need to be considered for filter
///
///
/// @return NSArray<SWGPet>*
-(NSNumber*) findPetsByStatusWithCompletionBlock :(NSArray*) status
completionHandler: (void (^)(NSArray<SWGPet>* output, NSError* error))completionBlock;
/**
Finds Pets by tags
Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.
@param tags Tags to filter by
return type: NSArray<SWGPet>*
*/
///
///
/// Finds Pets by tags
/// Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.
///
/// @param tags Tags to filter by
///
///
/// @return NSArray<SWGPet>*
-(NSNumber*) findPetsByTagsWithCompletionBlock :(NSArray*) tags
completionHandler: (void (^)(NSArray<SWGPet>* output, NSError* error))completionBlock;
/**
Find pet by ID
Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions
@param petId ID of pet that needs to be fetched
return type: SWGPet*
*/
///
///
/// Find pet by ID
/// Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions
///
/// @param petId ID of pet that needs to be fetched
///
///
/// @return SWGPet*
-(NSNumber*) getPetByIdWithCompletionBlock :(NSNumber*) petId
completionHandler: (void (^)(SWGPet* output, NSError* error))completionBlock;
/**
Updates a pet in the store with form data
@param petId ID of pet that needs to be updated
@param name Updated name of the pet
@param status Updated status of the pet
return type:
*/
///
///
/// Updates a pet in the store with form data
///
///
/// @param petId ID of pet that needs to be updated
/// @param name Updated name of the pet
/// @param status Updated status of the pet
///
///
/// @return
-(NSNumber*) updatePetWithFormWithCompletionBlock :(NSString*) petId
name:(NSString*) name
status:(NSString*) status
@@ -115,17 +109,16 @@
completionHandler: (void (^)(NSError* error))completionBlock;
/**
Deletes a pet
@param apiKey
@param petId Pet id to delete
return type:
*/
///
///
/// Deletes a pet
///
///
/// @param apiKey
/// @param petId Pet id to delete
///
///
/// @return
-(NSNumber*) deletePetWithCompletionBlock :(NSString*) apiKey
petId:(NSNumber*) petId
@@ -133,18 +126,17 @@
completionHandler: (void (^)(NSError* error))completionBlock;
/**
uploads an image
@param petId ID of pet to update
@param additionalMetadata Additional data to pass to server
@param file file to upload
return type:
*/
///
///
/// uploads an image
///
///
/// @param petId ID of pet to update
/// @param additionalMetadata Additional data to pass to server
/// @param file file to upload
///
///
/// @return
-(NSNumber*) uploadFileWithCompletionBlock :(NSNumber*) petId
additionalMetadata:(NSString*) additionalMetadata
file:(SWGFile*) file

View File

@@ -71,13 +71,15 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
return [SWGApiClient requestQueueSize];
}
#pragma mark - Api Methods
/*!
* Update an existing pet
*
* \param body Pet object that needs to be added to the store
* \returns void
*/
///
/// Update an existing pet
///
/// @param body Pet object that needs to be added to the store
///
/// @returns void
///
-(NSNumber*) updatePetWithCompletionBlock: (SWGPet*) body
@@ -153,38 +155,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"PUT"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"PUT"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}
/*!
* Add a new pet to the store
*
* \param body Pet object that needs to be added to the store
* \returns void
*/
///
/// Add a new pet to the store
///
/// @param body Pet object that needs to be added to the store
///
/// @returns void
///
-(NSNumber*) addPetWithCompletionBlock: (SWGPet*) body
@@ -260,38 +252,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}
/*!
* Finds Pets by status
* Multiple status values can be provided with comma seperated strings
* \param status Status values that need to be considered for filter
* \returns NSArray<SWGPet>*
*/
///
/// Finds Pets by status
/// Multiple status values can be provided with comma seperated strings
/// @param status Status values that need to be considered for filter
///
/// @returns NSArray<SWGPet>*
///
-(NSNumber*) findPetsByStatusWithCompletionBlock: (NSArray*) status
completionHandler: (void (^)(NSArray<SWGPet>* output, NSError* error))completionBlock
@@ -350,52 +332,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// response is in a container
// array container response type
return [self.apiClient dictionary: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSDictionary *data, NSError *error) {
if (error) {
completionBlock(nil, error);
return;
}
if([data isKindOfClass:[NSArray class]]){
NSMutableArray * objs = [[NSMutableArray alloc] initWithCapacity:[data count]];
for (NSDictionary* dict in (NSArray*)data) {
SWGPet* d = [[SWGPet alloc] initWithDictionary:dict error:nil];
[objs addObject:d];
}
completionBlock((NSArray<SWGPet>*)objs, nil);
}
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock([self.apiClient deserialize: data class:@"NSArray<SWGPet>*"], error);
}
];
}
/*!
* Finds Pets by tags
* Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.
* \param tags Tags to filter by
* \returns NSArray<SWGPet>*
*/
///
/// Finds Pets by tags
/// Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.
/// @param tags Tags to filter by
///
/// @returns NSArray<SWGPet>*
///
-(NSNumber*) findPetsByTagsWithCompletionBlock: (NSArray*) tags
completionHandler: (void (^)(NSArray<SWGPet>* output, NSError* error))completionBlock
@@ -454,52 +412,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// response is in a container
// array container response type
return [self.apiClient dictionary: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSDictionary *data, NSError *error) {
if (error) {
completionBlock(nil, error);
return;
}
if([data isKindOfClass:[NSArray class]]){
NSMutableArray * objs = [[NSMutableArray alloc] initWithCapacity:[data count]];
for (NSDictionary* dict in (NSArray*)data) {
SWGPet* d = [[SWGPet alloc] initWithDictionary:dict error:nil];
[objs addObject:d];
}
completionBlock((NSArray<SWGPet>*)objs, nil);
}
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock([self.apiClient deserialize: data class:@"NSArray<SWGPet>*"], error);
}
];
}
/*!
* Find pet by ID
* Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions
* \param petId ID of pet that needs to be fetched
* \returns SWGPet*
*/
///
/// Find pet by ID
/// Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions
/// @param petId ID of pet that needs to be fetched
///
/// @returns SWGPet*
///
-(NSNumber*) getPetByIdWithCompletionBlock: (NSNumber*) petId
completionHandler: (void (^)(SWGPet* output, NSError* error))completionBlock
@@ -556,54 +490,32 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// non container response
// complex response
// comples response type
return [self.apiClient dictionary: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSDictionary *data, NSError *error) {
if (error) {
completionBlock(nil, error);
return;
}
SWGPet* result = nil;
if (data) {
result = [[SWGPet alloc] initWithDictionary:data error:nil];
}
completionBlock(result , nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock([self.apiClient deserialize: data class:@"SWGPet*"], error);
}
];
}
/*!
* Updates a pet in the store with form data
*
* \param petId ID of pet that needs to be updated
* \param name Updated name of the pet
* \param status Updated status of the pet
* \returns void
*/
///
/// Updates a pet in the store with form data
///
/// @param petId ID of pet that needs to be updated
///
/// @param name Updated name of the pet
///
/// @param status Updated status of the pet
///
/// @returns void
///
-(NSNumber*) updatePetWithFormWithCompletionBlock: (NSString*) petId
name: (NSString*) name
status: (NSString*) status
@@ -678,39 +590,30 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}
/*!
* Deletes a pet
*
* \param apiKey
* \param petId Pet id to delete
* \returns void
*/
///
/// Deletes a pet
///
/// @param apiKey
///
/// @param petId Pet id to delete
///
/// @returns void
///
-(NSNumber*) deletePetWithCompletionBlock: (NSString*) apiKey
petId: (NSNumber*) petId
@@ -770,40 +673,32 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"DELETE"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"DELETE"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}
/*!
* uploads an image
*
* \param petId ID of pet to update
* \param additionalMetadata Additional data to pass to server
* \param file file to upload
* \returns void
*/
///
/// uploads an image
///
/// @param petId ID of pet to update
///
/// @param additionalMetadata Additional data to pass to server
///
/// @param file file to upload
///
/// @returns void
///
-(NSNumber*) uploadFileWithCompletionBlock: (NSNumber*) petId
additionalMetadata: (NSString*) additionalMetadata
file: (SWGFile*) file
@@ -885,30 +780,19 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}

View File

@@ -14,62 +14,58 @@
+(SWGStoreApi*) apiWithHeader:(NSString*)headerValue key:(NSString*)key;
+(void) setBasePath:(NSString*)basePath;
+(NSString*) getBasePath;
/**
Returns pet inventories by status
Returns a map of status codes to quantities
return type: NSDictionary*
*/
///
///
/// Returns pet inventories by status
/// Returns a map of status codes to quantities
///
///
///
/// @return NSDictionary* /* NSString, NSNumber */
-(NSNumber*) getInventoryWithCompletionBlock :
(void (^)(NSDictionary* output, NSError* error))completionBlock;
(void (^)(NSDictionary* /* NSString, NSNumber */ output, NSError* error))completionBlock;
/**
Place an order for a pet
@param body order placed for purchasing the pet
return type: SWGOrder*
*/
///
///
/// Place an order for a pet
///
///
/// @param body order placed for purchasing the pet
///
///
/// @return SWGOrder*
-(NSNumber*) placeOrderWithCompletionBlock :(SWGOrder*) body
completionHandler: (void (^)(SWGOrder* output, NSError* error))completionBlock;
/**
Find purchase order by ID
For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
@param orderId ID of pet that needs to be fetched
return type: SWGOrder*
*/
///
///
/// Find purchase order by ID
/// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
///
/// @param orderId ID of pet that needs to be fetched
///
///
/// @return SWGOrder*
-(NSNumber*) getOrderByIdWithCompletionBlock :(NSString*) orderId
completionHandler: (void (^)(SWGOrder* output, NSError* error))completionBlock;
/**
Delete purchase order by ID
For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
@param orderId ID of the order that needs to be deleted
return type:
*/
///
///
/// Delete purchase order by ID
/// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
///
/// @param orderId ID of the order that needs to be deleted
///
///
/// @return
-(NSNumber*) deleteOrderWithCompletionBlock :(NSString*) orderId

View File

@@ -70,14 +70,15 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
return [SWGApiClient requestQueueSize];
}
#pragma mark - Api Methods
/*!
* Returns pet inventories by status
* Returns a map of status codes to quantities
* \returns NSDictionary*
*/
///
/// Returns pet inventories by status
/// Returns a map of status codes to quantities
/// @returns NSDictionary* /* NSString, NSNumber */
///
-(NSNumber*) getInventoryWithCompletionBlock:
(void (^)(NSDictionary* output, NSError* error))completionBlock
(void (^)(NSDictionary* /* NSString, NSNumber */ output, NSError* error))completionBlock
{
@@ -127,45 +128,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// response is in a container
// map container response type
return [self.apiClient dictionary: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSDictionary *data, NSError *error) {
if (error) {
completionBlock(nil, error);
return;
}
NSDictionary *result = nil;
if (data) {
result = [[NSDictionary alloc]initWithDictionary: data];
}
completionBlock(data, nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock([self.apiClient deserialize: data class:@"NSDictionary* /* NSString, NSNumber */"], error);
}
];
}
/*!
* Place an order for a pet
*
* \param body order placed for purchasing the pet
* \returns SWGOrder*
*/
///
/// Place an order for a pet
///
/// @param body order placed for purchasing the pet
///
/// @returns SWGOrder*
///
-(NSNumber*) placeOrderWithCompletionBlock: (SWGOrder*) body
completionHandler: (void (^)(SWGOrder* output, NSError* error))completionBlock
@@ -241,52 +225,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// non container response
// complex response
// comples response type
return [self.apiClient dictionary: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSDictionary *data, NSError *error) {
if (error) {
completionBlock(nil, error);
return;
}
SWGOrder* result = nil;
if (data) {
result = [[SWGOrder alloc] initWithDictionary:data error:nil];
}
completionBlock(result , nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock([self.apiClient deserialize: data class:@"SWGOrder*"], error);
}
];
}
/*!
* Find purchase order by ID
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
* \param orderId ID of pet that needs to be fetched
* \returns SWGOrder*
*/
///
/// Find purchase order by ID
/// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
/// @param orderId ID of pet that needs to be fetched
///
/// @returns SWGOrder*
///
-(NSNumber*) getOrderByIdWithCompletionBlock: (NSString*) orderId
completionHandler: (void (^)(SWGOrder* output, NSError* error))completionBlock
@@ -343,52 +303,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// non container response
// complex response
// comples response type
return [self.apiClient dictionary: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSDictionary *data, NSError *error) {
if (error) {
completionBlock(nil, error);
return;
}
SWGOrder* result = nil;
if (data) {
result = [[SWGOrder alloc] initWithDictionary:data error:nil];
}
completionBlock(result , nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock([self.apiClient deserialize: data class:@"SWGOrder*"], error);
}
];
}
/*!
* Delete purchase order by ID
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
* \param orderId ID of the order that needs to be deleted
* \returns void
*/
///
/// Delete purchase order by ID
/// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
/// @param orderId ID of the order that needs to be deleted
///
/// @returns void
///
-(NSNumber*) deleteOrderWithCompletionBlock: (NSString*) orderId
@@ -445,30 +381,19 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"DELETE"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"DELETE"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}

View File

@@ -14,65 +14,61 @@
+(SWGUserApi*) apiWithHeader:(NSString*)headerValue key:(NSString*)key;
+(void) setBasePath:(NSString*)basePath;
+(NSString*) getBasePath;
/**
Create user
This can only be done by the logged in user.
@param body Created user object
return type:
*/
///
///
/// Create user
/// This can only be done by the logged in user.
///
/// @param body Created user object
///
///
/// @return
-(NSNumber*) createUserWithCompletionBlock :(SWGUser*) body
completionHandler: (void (^)(NSError* error))completionBlock;
/**
Creates list of users with given input array
@param body List of user object
return type:
*/
///
///
/// Creates list of users with given input array
///
///
/// @param body List of user object
///
///
/// @return
-(NSNumber*) createUsersWithArrayInputWithCompletionBlock :(NSArray<SWGUser>*) body
completionHandler: (void (^)(NSError* error))completionBlock;
/**
Creates list of users with given input array
@param body List of user object
return type:
*/
///
///
/// Creates list of users with given input array
///
///
/// @param body List of user object
///
///
/// @return
-(NSNumber*) createUsersWithListInputWithCompletionBlock :(NSArray<SWGUser>*) body
completionHandler: (void (^)(NSError* error))completionBlock;
/**
Logs user into the system
@param username The user name for login
@param password The password for login in clear text
return type: NSString*
*/
///
///
/// Logs user into the system
///
///
/// @param username The user name for login
/// @param password The password for login in clear text
///
///
/// @return NSString*
-(NSNumber*) loginUserWithCompletionBlock :(NSString*) username
password:(NSString*) password
@@ -80,47 +76,44 @@
/**
Logs out current logged in user session
return type:
*/
///
///
/// Logs out current logged in user session
///
///
///
///
/// @return
-(NSNumber*) logoutUserWithCompletionBlock :
(void (^)(NSError* error))completionBlock;
/**
Get user by user name
@param username The name that needs to be fetched. Use user1 for testing.
return type: SWGUser*
*/
///
///
/// Get user by user name
///
///
/// @param username The name that needs to be fetched. Use user1 for testing.
///
///
/// @return SWGUser*
-(NSNumber*) getUserByNameWithCompletionBlock :(NSString*) username
completionHandler: (void (^)(SWGUser* output, NSError* error))completionBlock;
/**
Updated user
This can only be done by the logged in user.
@param username name that need to be deleted
@param body Updated user object
return type:
*/
///
///
/// Updated user
/// This can only be done by the logged in user.
///
/// @param username name that need to be deleted
/// @param body Updated user object
///
///
/// @return
-(NSNumber*) updateUserWithCompletionBlock :(NSString*) username
body:(SWGUser*) body
@@ -128,16 +121,15 @@
completionHandler: (void (^)(NSError* error))completionBlock;
/**
Delete user
This can only be done by the logged in user.
@param username The name that needs to be deleted
return type:
*/
///
///
/// Delete user
/// This can only be done by the logged in user.
///
/// @param username The name that needs to be deleted
///
///
/// @return
-(NSNumber*) deleteUserWithCompletionBlock :(NSString*) username

View File

@@ -70,13 +70,15 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
return [SWGApiClient requestQueueSize];
}
#pragma mark - Api Methods
/*!
* Create user
* This can only be done by the logged in user.
* \param body Created user object
* \returns void
*/
///
/// Create user
/// This can only be done by the logged in user.
/// @param body Created user object
///
/// @returns void
///
-(NSNumber*) createUserWithCompletionBlock: (SWGUser*) body
@@ -152,38 +154,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}
/*!
* Creates list of users with given input array
*
* \param body List of user object
* \returns void
*/
///
/// Creates list of users with given input array
///
/// @param body List of user object
///
/// @returns void
///
-(NSNumber*) createUsersWithArrayInputWithCompletionBlock: (NSArray<SWGUser>*) body
@@ -259,38 +251,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}
/*!
* Creates list of users with given input array
*
* \param body List of user object
* \returns void
*/
///
/// Creates list of users with given input array
///
/// @param body List of user object
///
/// @returns void
///
-(NSNumber*) createUsersWithListInputWithCompletionBlock: (NSArray<SWGUser>*) body
@@ -366,39 +348,30 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"POST"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}
/*!
* Logs user into the system
*
* \param username The user name for login
* \param password The password for login in clear text
* \returns NSString*
*/
///
/// Logs user into the system
///
/// @param username The user name for login
///
/// @param password The password for login in clear text
///
/// @returns NSString*
///
-(NSNumber*) loginUserWithCompletionBlock: (NSString*) username
password: (NSString*) password
@@ -460,50 +433,26 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// non container response
// primitive response
// primitive response type
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(nil, error);
return;
}
NSString *result = data ? [[NSString alloc]initWithString: data] : nil;
completionBlock(result, nil);
}];
// complex response
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock([self.apiClient deserialize: data class:@"NSString*"], error);
}
];
}
/*!
* Logs out current logged in user session
*
* \returns void
*/
///
/// Logs out current logged in user session
///
/// @returns void
///
-(NSNumber*) logoutUserWithCompletionBlock:
(void (^)(NSError* error))completionBlock {
@@ -555,38 +504,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}
/*!
* Get user by user name
*
* \param username The name that needs to be fetched. Use user1 for testing.
* \returns SWGUser*
*/
///
/// Get user by user name
///
/// @param username The name that needs to be fetched. Use user1 for testing.
///
/// @returns SWGUser*
///
-(NSNumber*) getUserByNameWithCompletionBlock: (NSString*) username
completionHandler: (void (^)(SWGUser* output, NSError* error))completionBlock
@@ -643,53 +582,30 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// non container response
// complex response
// comples response type
return [self.apiClient dictionary: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSDictionary *data, NSError *error) {
if (error) {
completionBlock(nil, error);
return;
}
SWGUser* result = nil;
if (data) {
result = [[SWGUser alloc] initWithDictionary:data error:nil];
}
completionBlock(result , nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"GET"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock([self.apiClient deserialize: data class:@"SWGUser*"], error);
}
];
}
/*!
* Updated user
* This can only be done by the logged in user.
* \param username name that need to be deleted
* \param body Updated user object
* \returns void
*/
///
/// Updated user
/// This can only be done by the logged in user.
/// @param username name that need to be deleted
///
/// @param body Updated user object
///
/// @returns void
///
-(NSNumber*) updateUserWithCompletionBlock: (NSString*) username
body: (SWGUser*) body
@@ -770,38 +686,28 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"PUT"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"PUT"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}
/*!
* Delete user
* This can only be done by the logged in user.
* \param username The name that needs to be deleted
* \returns void
*/
///
/// Delete user
/// This can only be done by the logged in user.
/// @param username The name that needs to be deleted
///
/// @returns void
///
-(NSNumber*) deleteUserWithCompletionBlock: (NSString*) username
@@ -858,30 +764,19 @@ static NSString * basePath = @"http://petstore.swagger.io/v2";
// it's void
return [self.apiClient stringWithCompletionBlock: requestUrl
method: @"DELETE"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(NSString *data, NSError *error) {
if (error) {
completionBlock(error);
return;
}
completionBlock(nil);
}];
return [self.apiClient requestWithCompletionBlock: requestUrl
method: @"DELETE"
queryParams: queryParams
body: bodyDictionary
headerParams: headerParams
authSettings: authSettings
requestContentType: requestContentType
responseContentType: responseContentType
completionBlock: ^(id data, NSError *error) {
completionBlock(error);
}
];
}

View File

@@ -22,14 +22,14 @@ use WWW::SwaggerClient::Configuration;
sub new
{
my $class = shift;
my (%args) = (
'ua' => LWP::UserAgent->new,
'base_url' => 'http://petstore.swagger.io/v2',
@_
);
return bless \%args, $class;
my $class = shift;
my (%args) = (
'ua' => LWP::UserAgent->new,
'base_url' => 'http://petstore.swagger.io/v2',
@_
);
return bless \%args, $class;
}
# Set the user agent of the API client
@@ -37,8 +37,8 @@ sub new
# @param string $user_agent The user agent of the API client
#
sub set_user_agent {
my ($self, $user_agent) = @_;
$self->{http_user_agent}= $user_agent;
my ($self, $user_agent) = @_;
$self->{http_user_agent}= $user_agent;
}
# Set timeout
@@ -46,11 +46,11 @@ sub set_user_agent {
# @param integer $seconds Number of seconds before timing out [set to 0 for no timeout]
#
sub set_timeout {
my ($self, $seconds) = @_;
if (!looks_like_number($seconds)) {
croak('Timeout variable must be numeric.');
}
$self->{http_timeout} = $seconds;
my ($self, $seconds) = @_;
if (!looks_like_number($seconds)) {
croak('Timeout variable must be numeric.');
}
$self->{http_timeout} = $seconds;
}
# make the HTTP request
@@ -61,71 +61,71 @@ sub set_timeout {
# @param array $headerParams parameters to be place in request header
# @return mixed
sub call_api {
my $self = shift;
my ($resource_path, $method, $query_params, $post_params, $header_params, $body_data, $auth_settings) = @_;
# update parameters based on authentication settings
$self->update_params_for_auth($header_params, $query_params, $auth_settings);
my $_url = $self->{base_url} . $resource_path;
# build query
if (%$query_params) {
$_url = ($_url . '?' . eval { URI::Query->new($query_params)->stringify });
}
# body data
$body_data = to_json($body_data->to_hash) if defined $body_data && $body_data->can('to_hash'); # model to json string
my $_body_data = %$post_params ? $post_params : $body_data;
# Make the HTTP request
my $_request;
if ($method eq 'POST') {
# multipart
$header_params->{'Content-Type'} = lc $header_params->{'Content-Type'} eq 'multipart/form' ?
'form-data' : $header_params->{'Content-Type'};
$_request = POST($_url, %$header_params, Content => $_body_data);
}
elsif ($method eq 'PUT') {
# multipart
$header_params->{'Content-Type'} = lc $header_params->{'Content-Type'} eq 'multipart/form' ?
'form-data' : $header_params->{'Content-Type'};
$_request = PUT($_url, %$header_params, Content => $_body_data);
}
elsif ($method eq 'GET') {
my $headers = HTTP::Headers->new(%$header_params);
$_request = GET($_url, %$header_params);
}
elsif ($method eq 'HEAD') {
my $headers = HTTP::Headers->new(%$header_params);
$_request = HEAD($_url,%$header_params);
}
elsif ($method eq 'DELETE') { #TODO support form data
my $headers = HTTP::Headers->new(%$header_params);
$_request = DELETE($_url, %$headers);
}
elsif ($method eq 'PATCH') { #TODO
}
else {
}
$self->{ua}->timeout($self->{http_timeout} || $WWW::SwaggerClient::Configuration::http_timeout);
$self->{ua}->agent($self->{http_user_agent} || $WWW::SwaggerClient::Configuration::http_user_agent);
my $self = shift;
my ($resource_path, $method, $query_params, $post_params, $header_params, $body_data, $auth_settings) = @_;
# update parameters based on authentication settings
$self->update_params_for_auth($header_params, $query_params, $auth_settings);
my $_url = $self->{base_url} . $resource_path;
# build query
if (%$query_params) {
$_url = ($_url . '?' . eval { URI::Query->new($query_params)->stringify });
}
# body data
$body_data = to_json($body_data->to_hash) if defined $body_data && $body_data->can('to_hash'); # model to json string
my $_body_data = %$post_params ? $post_params : $body_data;
# Make the HTTP request
my $_request;
if ($method eq 'POST') {
# multipart
$header_params->{'Content-Type'} = lc $header_params->{'Content-Type'} eq 'multipart/form' ?
'form-data' : $header_params->{'Content-Type'};
$_request = POST($_url, %$header_params, Content => $_body_data);
}
elsif ($method eq 'PUT') {
# multipart
$header_params->{'Content-Type'} = lc $header_params->{'Content-Type'} eq 'multipart/form' ?
'form-data' : $header_params->{'Content-Type'};
$_request = PUT($_url, %$header_params, Content => $_body_data);
}
elsif ($method eq 'GET') {
my $headers = HTTP::Headers->new(%$header_params);
$_request = GET($_url, %$header_params);
}
elsif ($method eq 'HEAD') {
my $headers = HTTP::Headers->new(%$header_params);
$_request = HEAD($_url,%$header_params);
}
elsif ($method eq 'DELETE') { #TODO support form data
my $headers = HTTP::Headers->new(%$header_params);
$_request = DELETE($_url, %$headers);
}
elsif ($method eq 'PATCH') { #TODO
}
else {
}
$self->{ua}->timeout($self->{http_timeout} || $WWW::SwaggerClient::Configuration::http_timeout);
$self->{ua}->agent($self->{http_user_agent} || $WWW::SwaggerClient::Configuration::http_user_agent);
my $_response = $self->{ua}->request($_request);
unless ($_response->is_success) {
croak("API Exception(".$_response->code."): ".$_response->message);
}
return $_response->content;
my $_response = $self->{ua}->request($_request);
unless ($_response->is_success) {
croak("API Exception(".$_response->code."): ".$_response->message);
}
return $_response->content;
}
# Take value and turn it into a string suitable for inclusion in
@@ -180,13 +180,13 @@ sub to_form_value {
# @param string $value the value of the parameter
# @return string the header string
sub to_string {
my ($self, $value) = @_;
if (ref($value) eq "DateTime") { # datetime in ISO8601 format
return $value->datetime();
}
else {
return $value;
}
my ($self, $value) = @_;
if (ref($value) eq "DateTime") { # datetime in ISO8601 format
return $value->datetime();
}
else {
return $value;
}
}
# Deserialize a JSON string into an object
@@ -196,55 +196,55 @@ sub to_string {
# @return object an instance of $class
sub deserialize
{
my ($self, $class, $data) = @_;
$log->debugf("deserializing %s for %s", $data, $class);
if (not defined $data) {
return undef;
} elsif ( (substr($class, 0, 5)) eq 'HASH[') { #hash
if ($class =~ /^HASH\[(.*),(.*)\]$/) {
my ($key_type, $type) = ($1, $2);
my %hash;
my $decoded_data = decode_json $data;
foreach my $key (keys %$decoded_data) {
if (ref $decoded_data->{$key} eq 'HASH') {
$hash{$key} = $self->deserialize($type, encode_json $decoded_data->{$key});
my ($self, $class, $data) = @_;
$log->debugf("deserializing %s for %s", $data, $class);
if (not defined $data) {
return undef;
} elsif ( (substr($class, 0, 5)) eq 'HASH[') { #hash
if ($class =~ /^HASH\[(.*),(.*)\]$/) {
my ($key_type, $type) = ($1, $2);
my %hash;
my $decoded_data = decode_json $data;
foreach my $key (keys %$decoded_data) {
if (ref $decoded_data->{$key} eq 'HASH') {
$hash{$key} = $self->deserialize($type, encode_json $decoded_data->{$key});
} else {
$hash{$key} = $self->deserialize($type, $decoded_data->{$key});
}
}
return \%hash;
} else {
$hash{$key} = $self->deserialize($type, $decoded_data->{$key});
#TODO log error
}
} elsif ( (substr($class, 0, 6)) eq 'ARRAY[' ) { # array of data
return $data if $data eq '[]'; # return if empty array
my $_sub_class = substr($class, 6, -1);
my $_json_data = decode_json $data;
my @_values = ();
foreach my $_value (@$_json_data) {
if (ref $_value eq 'ARRAY') {
push @_values, $self->deserialize($_sub_class, encode_json $_value);
} else {
push @_values, $self->deserialize($_sub_class, $_value);
}
}
return \@_values;
} elsif ($class eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif (grep /^$class$/, ('string', 'int', 'float', 'bool', 'object')) {
return $data;
} else { # model
my $_instance = use_module("WWW::SwaggerClient::Object::$class")->new;
if (ref $data eq "HASH") {
return $_instance->from_hash($data);
} else { # string, need to json decode first
return $_instance->from_hash(decode_json $data);
}
}
return \%hash;
} else {
#TODO log error
}
} elsif ( (substr($class, 0, 6)) eq 'ARRAY[' ) { # array of data
return $data if $data eq '[]'; # return if empty array
my $_sub_class = substr($class, 6, -1);
my $_json_data = decode_json $data;
my @_values = ();
foreach my $_value (@$_json_data) {
if (ref $_value eq 'ARRAY') {
push @_values, $self->deserialize($_sub_class, encode_json $_value);
} else {
push @_values, $self->deserialize($_sub_class, $_value);
}
}
return \@_values;
} elsif ($class eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif (grep /^$class$/, ('string', 'int', 'float', 'bool', 'object')) {
return $data;
} else { # model
my $_instance = use_module("WWW::SwaggerClient::Object::$class")->new;
if (ref $data eq "HASH") {
return $_instance->from_hash($data);
} else { # string, need to json decode first
return $_instance->from_hash(decode_json $data);
}
}
}
# return 'Accept' based on an array of accept provided
@@ -252,16 +252,16 @@ sub deserialize
# @return String Accept (e.g. application/json)
sub select_header_accept
{
my ($self, @header) = @_;
if (@header == 0 || (@header == 1 && $header[0] eq '')) {
return undef;
} elsif (grep(/^application\/json$/i, @header)) {
return 'application/json';
} else {
return join(',', @header);
}
my ($self, @header) = @_;
if (@header == 0 || (@header == 1 && $header[0] eq '')) {
return undef;
} elsif (grep(/^application\/json$/i, @header)) {
return 'application/json';
} else {
return join(',', @header);
}
}
# return the content type based on an array of content-type provided
@@ -269,16 +269,16 @@ sub select_header_accept
# @return String Content-Type (e.g. application/json)
sub select_header_content_type
{
my ($self, @header) = @_;
if (@header == 0 || (@header == 1 && $header[0] eq '')) {
return 'application/json'; # default to application/json
} elsif (grep(/^application\/json$/i, @header)) {
return 'application/json';
} else {
return join(',', @header);
}
my ($self, @header) = @_;
if (@header == 0 || (@header == 1 && $header[0] eq '')) {
return 'application/json'; # default to application/json
} elsif (grep(/^application\/json$/i, @header)) {
return 'application/json';
} else {
return join(',', @header);
}
}
# Get API key (with prefix if set)
@@ -288,9 +288,9 @@ sub get_api_key_with_prefix
{
my ($self, $api_key) = @_;
if ($WWW::SwaggerClient::Configuration::api_key_prefix->{$api_key}) {
return $WWW::SwaggerClient::Configuration::api_key_prefix->{$api_key}." ".$WWW::SwaggerClient::Configuration::api_key->{$api_key};
return $WWW::SwaggerClient::Configuration::api_key_prefix->{$api_key}." ".$WWW::SwaggerClient::Configuration::api_key->{$api_key};
} else {
return $WWW::SwaggerClient::Configuration::api_key->{$api_key};
return $WWW::SwaggerClient::Configuration::api_key->{$api_key};
}
}
@@ -300,28 +300,28 @@ sub get_api_key_with_prefix
# @param array $queryParams query parameters (by ref)
# @param array $authSettings array of authentication scheme (e.g ['api_key'])
sub update_params_for_auth {
my ($self, $header_params, $query_params, $auth_settings) = @_;
return if (!defined($auth_settings) || scalar(@$auth_settings) == 0);
# one endpoint can have more than 1 auth settings
foreach my $auth (@$auth_settings) {
# determine which one to use
if (!defined($auth)) {
}
elsif ($auth eq 'api_key') {
$header_params->{'api_key'} = $self->get_api_key_with_prefix('api_key');
my ($self, $header_params, $query_params, $auth_settings) = @_;
return if (!defined($auth_settings) || scalar(@$auth_settings) == 0);
# one endpoint can have more than 1 auth settings
foreach my $auth (@$auth_settings) {
# determine which one to use
if (!defined($auth)) {
}
elsif ($auth eq 'api_key') {
$header_params->{'api_key'} = $self->get_api_key_with_prefix('api_key');
}
elsif ($auth eq 'petstore_auth') {
# TODO support oauth
}
else {
# TODO show warning about security definition not found
}
}
elsif ($auth eq 'petstore_auth') {
# TODO support oauth
}
else {
# TODO show warning about security definition not found
}
}
}

View File

@@ -7,6 +7,8 @@ use utf8;
use Log::Any qw($log);
use Carp;
use constant VERSION => '1.0.0';
# class/static variables
our $api_client;
our $http_timeout = 180;

View File

@@ -21,56 +21,56 @@ use DateTime;
# return json string
sub to_hash {
return decode_json(JSON->new->convert_blessed->encode( shift ));
return decode_json(JSON->new->convert_blessed->encode( shift ));
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys $self->get_attribute_map) {
if (defined $self->{$_key}) {
$_data->{$self->get_attribute_map->{$_key}} = $self->{$_key};
my $self = shift;
my $_data = {};
foreach my $_key (keys $self->get_attribute_map) {
if (defined $self->{$_key}) {
$_data->{$self->get_attribute_map->{$_key}} = $self->{$_key};
}
}
}
return $_data;
return $_data;
}
# from json string
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use swagger_types to deserialize the data
while ( my ($_key, $_type) = each $self->get_swagger_types ) {
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$self->get_attribute_map->{$_key}}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (defined $hash->{$_key}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_key});
} else {
$log->debugf("warning: %s not defined\n", $_key);
my ($self, $hash) = @_;
# loop through attributes and use swagger_types to deserialize the data
while ( my ($_key, $_type) = each $self->get_swagger_types ) {
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$self->get_attribute_map->{$_key}}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (defined $hash->{$_key}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_key});
} else {
$log->debugf("warning: %s not defined\n", $_key);
}
}
}
return $self;
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::SwaggerClient::Object::$type->new()";
return $_instance->from_hash($data);
}
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::SwaggerClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
1;

View File

@@ -20,13 +20,13 @@ use base "WWW::SwaggerClient::Object::BaseObject";
#
my $swagger_types = {
'id' => 'int',
'name' => 'string'
'id' => 'int',
'name' => 'string'
};
my $attribute_map = {
'id' => 'id',
'name' => 'name'
'id' => 'id',
'name' => 'name'
};
# new object
@@ -44,12 +44,12 @@ sub new {
# get swagger type of the attribute
sub get_swagger_types {
return $swagger_types;
return $swagger_types;
}
# get attribute mappping
sub get_attribute_map {
return $attribute_map;
return $attribute_map;
}
1;

View File

@@ -20,21 +20,21 @@ use base "WWW::SwaggerClient::Object::BaseObject";
#
my $swagger_types = {
'id' => 'int',
'pet_id' => 'int',
'quantity' => 'int',
'ship_date' => 'DateTime',
'status' => 'string',
'complete' => 'boolean'
'id' => 'int',
'pet_id' => 'int',
'quantity' => 'int',
'ship_date' => 'DateTime',
'status' => 'string',
'complete' => 'boolean'
};
my $attribute_map = {
'id' => 'id',
'pet_id' => 'petId',
'quantity' => 'quantity',
'ship_date' => 'shipDate',
'status' => 'status',
'complete' => 'complete'
'id' => 'id',
'pet_id' => 'petId',
'quantity' => 'quantity',
'ship_date' => 'shipDate',
'status' => 'status',
'complete' => 'complete'
};
# new object
@@ -60,12 +60,12 @@ sub new {
# get swagger type of the attribute
sub get_swagger_types {
return $swagger_types;
return $swagger_types;
}
# get attribute mappping
sub get_attribute_map {
return $attribute_map;
return $attribute_map;
}
1;

View File

@@ -20,21 +20,21 @@ use base "WWW::SwaggerClient::Object::BaseObject";
#
my $swagger_types = {
'id' => 'int',
'category' => 'Category',
'name' => 'string',
'photo_urls' => 'ARRAY[string]',
'tags' => 'ARRAY[Tag]',
'status' => 'string'
'id' => 'int',
'category' => 'Category',
'name' => 'string',
'photo_urls' => 'ARRAY[string]',
'tags' => 'ARRAY[Tag]',
'status' => 'string'
};
my $attribute_map = {
'id' => 'id',
'category' => 'category',
'name' => 'name',
'photo_urls' => 'photoUrls',
'tags' => 'tags',
'status' => 'status'
'id' => 'id',
'category' => 'category',
'name' => 'name',
'photo_urls' => 'photoUrls',
'tags' => 'tags',
'status' => 'status'
};
# new object
@@ -60,12 +60,12 @@ sub new {
# get swagger type of the attribute
sub get_swagger_types {
return $swagger_types;
return $swagger_types;
}
# get attribute mappping
sub get_attribute_map {
return $attribute_map;
return $attribute_map;
}
1;

View File

@@ -20,13 +20,13 @@ use base "WWW::SwaggerClient::Object::BaseObject";
#
my $swagger_types = {
'id' => 'int',
'name' => 'string'
'id' => 'int',
'name' => 'string'
};
my $attribute_map = {
'id' => 'id',
'name' => 'name'
'id' => 'id',
'name' => 'name'
};
# new object
@@ -44,12 +44,12 @@ sub new {
# get swagger type of the attribute
sub get_swagger_types {
return $swagger_types;
return $swagger_types;
}
# get attribute mappping
sub get_attribute_map {
return $attribute_map;
return $attribute_map;
}
1;

View File

@@ -20,25 +20,25 @@ use base "WWW::SwaggerClient::Object::BaseObject";
#
my $swagger_types = {
'id' => 'int',
'username' => 'string',
'first_name' => 'string',
'last_name' => 'string',
'email' => 'string',
'password' => 'string',
'phone' => 'string',
'user_status' => 'int'
'id' => 'int',
'username' => 'string',
'first_name' => 'string',
'last_name' => 'string',
'email' => 'string',
'password' => 'string',
'phone' => 'string',
'user_status' => 'int'
};
my $attribute_map = {
'id' => 'id',
'username' => 'username',
'first_name' => 'firstName',
'last_name' => 'lastName',
'email' => 'email',
'password' => 'password',
'phone' => 'phone',
'user_status' => 'userStatus'
'id' => 'id',
'username' => 'username',
'first_name' => 'firstName',
'last_name' => 'lastName',
'email' => 'email',
'password' => 'password',
'phone' => 'phone',
'user_status' => 'userStatus'
};
# new object
@@ -68,12 +68,12 @@ sub new {
# get swagger type of the attribute
sub get_swagger_types {
return $swagger_types;
return $swagger_types;
}
# get attribute mappping
sub get_attribute_map {
return $attribute_map;
return $attribute_map;
}
1;

View File

@@ -30,18 +30,6 @@ use Log::Any qw($log);
use WWW::SwaggerClient::ApiClient;
use WWW::SwaggerClient::Configuration;
our @EXPORT_OK = qw(
update_pet
add_pet
find_pets_by_status
find_pets_by_tags
get_pet_by_id
update_pet_with_form
delete_pet
upload_file
);
sub new {
my $class = shift;
my $default_api_client = $WWW::SwaggerClient::Configuration::api_client ? $WWW::SwaggerClient::Configuration::api_client : WWW::SwaggerClient::ApiClient->new;
@@ -59,481 +47,472 @@ sub new {
}
#
# update_pet
#
# Update an existing pet
#
# @param Pet $body Pet object that needs to be added to the store (required)
# @return void
#
sub update_pet {
my ($self, %args) = @_;
#
# update_pet
#
# Update an existing pet
#
# @param Pet $body Pet object that needs to be added to the store (required)
# @return void
#
sub update_pet {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/pet';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/pet';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'PUT';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'PUT';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json', 'application/xml');
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json', 'application/xml');
my $_body_data;
# body params
if ( exists $args{'body'}) {
my $_body_data;
# body params
if ( exists $args{'body'}) {
$_body_data = $args{'body'};
}
}
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# add_pet
#
# Add a new pet to the store
#
# @param Pet $body Pet object that needs to be added to the store (required)
# @return void
#
sub add_pet {
my ($self, %args) = @_;
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# add_pet
#
# Add a new pet to the store
#
# @param Pet $body Pet object that needs to be added to the store (required)
# @return void
#
sub add_pet {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/pet';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/pet';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json', 'application/xml');
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json', 'application/xml');
my $_body_data;
# body params
if ( exists $args{'body'}) {
my $_body_data;
# body params
if ( exists $args{'body'}) {
$_body_data = $args{'body'};
}
}
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# find_pets_by_status
#
# Finds Pets by status
#
# @param ARRAY[string] $status Status values that need to be considered for filter (required)
# @return ARRAY[Pet]
#
sub find_pets_by_status {
my ($self, %args) = @_;
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# find_pets_by_status
#
# Finds Pets by status
#
# @param ARRAY[string] $status Status values that need to be considered for filter (required)
# @return ARRAY[Pet]
#
sub find_pets_by_status {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/pet/findByStatus';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/pet/findByStatus';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# query params
if ( exists $args{'status'}) {
# query params
if ( exists $args{'status'}) {
$query_params->{'status'} = $self->{api_client}->to_query_value($args{'status'});
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('ARRAY[Pet]', $response);
return $_response_object;
}
#
# find_pets_by_tags
#
# Finds Pets by tags
#
# @param ARRAY[string] $tags Tags to filter by (required)
# @return ARRAY[Pet]
#
sub find_pets_by_tags {
my ($self, %args) = @_;
}
my $_response_object = $self->{api_client}->deserialize('ARRAY[Pet]', $response);
return $_response_object;
}
#
# find_pets_by_tags
#
# Finds Pets by tags
#
# @param ARRAY[string] $tags Tags to filter by (required)
# @return ARRAY[Pet]
#
sub find_pets_by_tags {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/pet/findByTags';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/pet/findByTags';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# query params
if ( exists $args{'tags'}) {
# query params
if ( exists $args{'tags'}) {
$query_params->{'tags'} = $self->{api_client}->to_query_value($args{'tags'});
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('ARRAY[Pet]', $response);
return $_response_object;
}
#
# get_pet_by_id
#
# Find pet by ID
#
# @param int $pet_id ID of pet that needs to be fetched (required)
# @return Pet
#
sub get_pet_by_id {
my ($self, %args) = @_;
}
my $_response_object = $self->{api_client}->deserialize('ARRAY[Pet]', $response);
return $_response_object;
}
#
# get_pet_by_id
#
# Find pet by ID
#
# @param int $pet_id ID of pet that needs to be fetched (required)
# @return Pet
#
sub get_pet_by_id {
my ($self, %args) = @_;
# verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) {
croak("Missing the required parameter 'pet_id' when calling get_pet_by_id");
}
# verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) {
croak("Missing the required parameter 'pet_id' when calling get_pet_by_id");
}
# parse inputs
my $_resource_path = '/pet/{petId}';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/pet/{petId}';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# path params
if ( exists $args{'pet_id'}) {
# path params
if ( exists $args{'pet_id'}) {
my $_base_variable = "{" . "petId" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'pet_id'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = ['api_key', 'petstore_auth'];
# authentication setting, if any
my $auth_settings = ['api_key', 'petstore_auth'];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('Pet', $response);
return $_response_object;
}
#
# update_pet_with_form
#
# Updates a pet in the store with form data
#
# @param string $pet_id ID of pet that needs to be updated (required)
# @param string $name Updated name of the pet (required)
# @param string $status Updated status of the pet (required)
# @return void
#
sub update_pet_with_form {
my ($self, %args) = @_;
}
my $_response_object = $self->{api_client}->deserialize('Pet', $response);
return $_response_object;
}
#
# update_pet_with_form
#
# Updates a pet in the store with form data
#
# @param string $pet_id ID of pet that needs to be updated (required)
# @param string $name Updated name of the pet (required)
# @param string $status Updated status of the pet (required)
# @return void
#
sub update_pet_with_form {
my ($self, %args) = @_;
# verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) {
croak("Missing the required parameter 'pet_id' when calling update_pet_with_form");
}
# verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) {
croak("Missing the required parameter 'pet_id' when calling update_pet_with_form");
}
# parse inputs
my $_resource_path = '/pet/{petId}';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/pet/{petId}';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
# path params
if ( exists $args{'pet_id'}) {
# path params
if ( exists $args{'pet_id'}) {
my $_base_variable = "{" . "petId" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'pet_id'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
# form params
if ( exists $args{'name'} ) {
}
# form params
if ( exists $args{'name'} ) {
$form_params->{'name'} = $self->{api_client}->to_form_value($args{'name'});
}# form params
if ( exists $args{'status'} ) {
}# form params
if ( exists $args{'status'} ) {
$form_params->{'status'} = $self->{api_client}->to_form_value($args{'status'});
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# delete_pet
#
# Deletes a pet
#
# @param string $api_key (required)
# @param int $pet_id Pet id to delete (required)
# @return void
#
sub delete_pet {
my ($self, %args) = @_;
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# delete_pet
#
# Deletes a pet
#
# @param string $api_key (required)
# @param int $pet_id Pet id to delete (required)
# @return void
#
sub delete_pet {
my ($self, %args) = @_;
# verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) {
croak("Missing the required parameter 'pet_id' when calling delete_pet");
}
# verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) {
croak("Missing the required parameter 'pet_id' when calling delete_pet");
}
# parse inputs
my $_resource_path = '/pet/{petId}';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/pet/{petId}';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'DELETE';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'DELETE';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# header params
if ( exists $args{'api_key'}) {
# header params
if ( exists $args{'api_key'}) {
$header_params->{'api_key'} = $self->{api_client}->to_header_value($args{'api_key'});
}
# path params
if ( exists $args{'pet_id'}) {
}
# path params
if ( exists $args{'pet_id'}) {
my $_base_variable = "{" . "petId" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'pet_id'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# upload_file
#
# uploads an image
#
# @param int $pet_id ID of pet to update (required)
# @param string $additional_metadata Additional data to pass to server (required)
# @param file $file file to upload (required)
# @return void
#
sub upload_file {
my ($self, %args) = @_;
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# upload_file
#
# uploads an image
#
# @param int $pet_id ID of pet to update (required)
# @param string $additional_metadata Additional data to pass to server (required)
# @param file $file file to upload (required)
# @return void
#
sub upload_file {
my ($self, %args) = @_;
# verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) {
croak("Missing the required parameter 'pet_id' when calling upload_file");
}
# verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) {
croak("Missing the required parameter 'pet_id' when calling upload_file");
}
# parse inputs
my $_resource_path = '/pet/{petId}/uploadImage';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/pet/{petId}/uploadImage';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('multipart/form-data');
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('multipart/form-data');
# path params
if ( exists $args{'pet_id'}) {
# path params
if ( exists $args{'pet_id'}) {
my $_base_variable = "{" . "petId" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'pet_id'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
# form params
if ( exists $args{'additional_metadata'} ) {
}
# form params
if ( exists $args{'additional_metadata'} ) {
$form_params->{'additionalMetadata'} = $self->{api_client}->to_form_value($args{'additional_metadata'});
}# form params
if ( exists $args{'file'} ) {
}# form params
if ( exists $args{'file'} ) {
$form_params->{'file'} = [] unless defined $form_params->{'file'};
push $form_params->{'file'}, $args{'file'};
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# authentication setting, if any
my $auth_settings = ['petstore_auth'];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
1;

View File

@@ -30,14 +30,6 @@ use Log::Any qw($log);
use WWW::SwaggerClient::ApiClient;
use WWW::SwaggerClient::Configuration;
our @EXPORT_OK = qw(
get_inventory
place_order
get_order_by_id
delete_order
);
sub new {
my $class = shift;
my $default_api_client = $WWW::SwaggerClient::Configuration::api_client ? $WWW::SwaggerClient::Configuration::api_client : WWW::SwaggerClient::ApiClient->new;
@@ -55,230 +47,225 @@ sub new {
}
#
# get_inventory
#
# Returns pet inventories by status
#
# @return HASH[string,int]
#
sub get_inventory {
my ($self, %args) = @_;
#
# get_inventory
#
# Returns pet inventories by status
#
# @return HASH[string,int]
#
sub get_inventory {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/store/inventory';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/store/inventory';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
my $_body_data;
my $_body_data;
# authentication setting, if any
my $auth_settings = ['api_key'];
# authentication setting, if any
my $auth_settings = ['api_key'];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('HASH[string,int]', $response);
return $_response_object;
}
#
# place_order
#
# Place an order for a pet
#
# @param Order $body order placed for purchasing the pet (required)
# @return Order
#
sub place_order {
my ($self, %args) = @_;
}
my $_response_object = $self->{api_client}->deserialize('HASH[string,int]', $response);
return $_response_object;
}
#
# place_order
#
# Place an order for a pet
#
# @param Order $body order placed for purchasing the pet (required)
# @return Order
#
sub place_order {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/store/order';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/store/order';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
my $_body_data;
# body params
if ( exists $args{'body'}) {
my $_body_data;
# body params
if ( exists $args{'body'}) {
$_body_data = $args{'body'};
}
}
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('Order', $response);
return $_response_object;
}
#
# get_order_by_id
#
# Find purchase order by ID
#
# @param string $order_id ID of pet that needs to be fetched (required)
# @return Order
#
sub get_order_by_id {
my ($self, %args) = @_;
}
my $_response_object = $self->{api_client}->deserialize('Order', $response);
return $_response_object;
}
#
# get_order_by_id
#
# Find purchase order by ID
#
# @param string $order_id ID of pet that needs to be fetched (required)
# @return Order
#
sub get_order_by_id {
my ($self, %args) = @_;
# verify the required parameter 'order_id' is set
unless (exists $args{'order_id'}) {
croak("Missing the required parameter 'order_id' when calling get_order_by_id");
}
# verify the required parameter 'order_id' is set
unless (exists $args{'order_id'}) {
croak("Missing the required parameter 'order_id' when calling get_order_by_id");
}
# parse inputs
my $_resource_path = '/store/order/{orderId}';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/store/order/{orderId}';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# path params
if ( exists $args{'order_id'}) {
# path params
if ( exists $args{'order_id'}) {
my $_base_variable = "{" . "orderId" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'order_id'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('Order', $response);
return $_response_object;
}
#
# delete_order
#
# Delete purchase order by ID
#
# @param string $order_id ID of the order that needs to be deleted (required)
# @return void
#
sub delete_order {
my ($self, %args) = @_;
}
my $_response_object = $self->{api_client}->deserialize('Order', $response);
return $_response_object;
}
#
# delete_order
#
# Delete purchase order by ID
#
# @param string $order_id ID of the order that needs to be deleted (required)
# @return void
#
sub delete_order {
my ($self, %args) = @_;
# verify the required parameter 'order_id' is set
unless (exists $args{'order_id'}) {
croak("Missing the required parameter 'order_id' when calling delete_order");
}
# verify the required parameter 'order_id' is set
unless (exists $args{'order_id'}) {
croak("Missing the required parameter 'order_id' when calling delete_order");
}
# parse inputs
my $_resource_path = '/store/order/{orderId}';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/store/order/{orderId}';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'DELETE';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'DELETE';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# path params
if ( exists $args{'order_id'}) {
# path params
if ( exists $args{'order_id'}) {
my $_base_variable = "{" . "orderId" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'order_id'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
1;

View File

@@ -30,18 +30,6 @@ use Log::Any qw($log);
use WWW::SwaggerClient::ApiClient;
use WWW::SwaggerClient::Configuration;
our @EXPORT_OK = qw(
create_user
create_users_with_array_input
create_users_with_list_input
login_user
logout_user
get_user_by_name
update_user
delete_user
);
sub new {
my $class = shift;
my $default_api_client = $WWW::SwaggerClient::Configuration::api_client ? $WWW::SwaggerClient::Configuration::api_client : WWW::SwaggerClient::ApiClient->new;
@@ -59,446 +47,437 @@ sub new {
}
#
# create_user
#
# Create user
#
# @param User $body Created user object (required)
# @return void
#
sub create_user {
my ($self, %args) = @_;
#
# create_user
#
# Create user
#
# @param User $body Created user object (required)
# @return void
#
sub create_user {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/user';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/user';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
my $_body_data;
# body params
if ( exists $args{'body'}) {
my $_body_data;
# body params
if ( exists $args{'body'}) {
$_body_data = $args{'body'};
}
}
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# create_users_with_array_input
#
# Creates list of users with given input array
#
# @param ARRAY[User] $body List of user object (required)
# @return void
#
sub create_users_with_array_input {
my ($self, %args) = @_;
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# create_users_with_array_input
#
# Creates list of users with given input array
#
# @param ARRAY[User] $body List of user object (required)
# @return void
#
sub create_users_with_array_input {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/user/createWithArray';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/user/createWithArray';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
my $_body_data;
# body params
if ( exists $args{'body'}) {
my $_body_data;
# body params
if ( exists $args{'body'}) {
$_body_data = $args{'body'};
}
}
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# create_users_with_list_input
#
# Creates list of users with given input array
#
# @param ARRAY[User] $body List of user object (required)
# @return void
#
sub create_users_with_list_input {
my ($self, %args) = @_;
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# create_users_with_list_input
#
# Creates list of users with given input array
#
# @param ARRAY[User] $body List of user object (required)
# @return void
#
sub create_users_with_list_input {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/user/createWithList';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/user/createWithList';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'POST';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
my $_body_data;
# body params
if ( exists $args{'body'}) {
my $_body_data;
# body params
if ( exists $args{'body'}) {
$_body_data = $args{'body'};
}
}
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# login_user
#
# Logs user into the system
#
# @param string $username The user name for login (required)
# @param string $password The password for login in clear text (required)
# @return string
#
sub login_user {
my ($self, %args) = @_;
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# login_user
#
# Logs user into the system
#
# @param string $username The user name for login (required)
# @param string $password The password for login in clear text (required)
# @return string
#
sub login_user {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/user/login';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/user/login';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# query params
if ( exists $args{'username'}) {
# query params
if ( exists $args{'username'}) {
$query_params->{'username'} = $self->{api_client}->to_query_value($args{'username'});
}# query params
if ( exists $args{'password'}) {
}# query params
if ( exists $args{'password'}) {
$query_params->{'password'} = $self->{api_client}->to_query_value($args{'password'});
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('string', $response);
return $_response_object;
}
#
# logout_user
#
# Logs out current logged in user session
#
# @return void
#
sub logout_user {
my ($self, %args) = @_;
}
my $_response_object = $self->{api_client}->deserialize('string', $response);
return $_response_object;
}
#
# logout_user
#
# Logs out current logged in user session
#
# @return void
#
sub logout_user {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/user/logout';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/user/logout';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
my $_body_data;
my $_body_data;
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# get_user_by_name
#
# Get user by user name
#
# @param string $username The name that needs to be fetched. Use user1 for testing. (required)
# @return User
#
sub get_user_by_name {
my ($self, %args) = @_;
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# get_user_by_name
#
# Get user by user name
#
# @param string $username The name that needs to be fetched. Use user1 for testing. (required)
# @return User
#
sub get_user_by_name {
my ($self, %args) = @_;
# verify the required parameter 'username' is set
unless (exists $args{'username'}) {
croak("Missing the required parameter 'username' when calling get_user_by_name");
}
# verify the required parameter 'username' is set
unless (exists $args{'username'}) {
croak("Missing the required parameter 'username' when calling get_user_by_name");
}
# parse inputs
my $_resource_path = '/user/{username}';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/user/{username}';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# path params
if ( exists $args{'username'}) {
# path params
if ( exists $args{'username'}) {
my $_base_variable = "{" . "username" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'username'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('User', $response);
return $_response_object;
}
#
# update_user
#
# Updated user
#
# @param string $username name that need to be deleted (required)
# @param User $body Updated user object (required)
# @return void
#
sub update_user {
my ($self, %args) = @_;
}
my $_response_object = $self->{api_client}->deserialize('User', $response);
return $_response_object;
}
#
# update_user
#
# Updated user
#
# @param string $username name that need to be deleted (required)
# @param User $body Updated user object (required)
# @return void
#
sub update_user {
my ($self, %args) = @_;
# verify the required parameter 'username' is set
unless (exists $args{'username'}) {
croak("Missing the required parameter 'username' when calling update_user");
}
# verify the required parameter 'username' is set
unless (exists $args{'username'}) {
croak("Missing the required parameter 'username' when calling update_user");
}
# parse inputs
my $_resource_path = '/user/{username}';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/user/{username}';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'PUT';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'PUT';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# path params
if ( exists $args{'username'}) {
# path params
if ( exists $args{'username'}) {
my $_base_variable = "{" . "username" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'username'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
my $_body_data;
# body params
if ( exists $args{'body'}) {
}
my $_body_data;
# body params
if ( exists $args{'body'}) {
$_body_data = $args{'body'};
}
}
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# delete_user
#
# Delete user
#
# @param string $username The name that needs to be deleted (required)
# @return void
#
sub delete_user {
my ($self, %args) = @_;
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
#
# delete_user
#
# Delete user
#
# @param string $username The name that needs to be deleted (required)
# @return void
#
sub delete_user {
my ($self, %args) = @_;
# verify the required parameter 'username' is set
unless (exists $args{'username'}) {
croak("Missing the required parameter 'username' when calling delete_user");
}
# verify the required parameter 'username' is set
unless (exists $args{'username'}) {
croak("Missing the required parameter 'username' when calling delete_user");
}
# parse inputs
my $_resource_path = '/user/{username}';
$_resource_path =~ s/{format}/json/; # default format to json
# parse inputs
my $_resource_path = '/user/{username}';
$_resource_path =~ s/{format}/json/; # default format to json
my $_method = 'DELETE';
my $query_params = {};
my $header_params = {};
my $form_params = {};
my $_method = 'DELETE';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json', 'application/xml');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# path params
if ( exists $args{'username'}) {
# path params
if ( exists $args{'username'}) {
my $_base_variable = "{" . "username" . "}";
my $_base_value = $self->{api_client}->to_path_value($args{'username'});
$_resource_path =~ s/$_base_variable/$_base_value/g;
}
my $_body_data;
}
my $_body_data;
# authentication setting, if any
my $auth_settings = [];
# authentication setting, if any
my $auth_settings = [];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return;
}
1;

View File

@@ -1,13 +0,0 @@
<?php
// load models defined for endpoints
foreach (glob(dirname(__FILE__)."/lib/models/*.php") as $filename)
{
require_once $filename;
}
// load classes for accessing the endpoints
foreach (glob(dirname(__FILE__)."/lib/*.php") as $filename)
{
require_once $filename;
}
?>

View File

@@ -0,0 +1,41 @@
<?php
/**
* An example of a project-specific implementation.
*
* After registering this autoload function with SPL, the following line
* would cause the function to attempt to load the \Swagger\Client\Baz\Qux class
* from /path/to/project/lib/Baz/Qux.php:
*
* new \Swagger\Client\Baz\Qux;
*
* @param string $class The fully-qualified class name.
* @return void
*/
spl_autoload_register(function ($class) {
// project-specific namespace prefix
$prefix = 'Swagger\\Client\\';
// base directory for the namespace prefix
$base_dir = __DIR__ . '/lib/';
// does the class use the namespace prefix?
$len = strlen($prefix);
if (strncmp($prefix, $class, $len) !== 0) {
// no, move to the next registered autoloader
return;
}
// get the relative class name
$relative_class = substr($class, $len);
// replace the namespace prefix with the base directory, replace namespace
// separators with directory separators in the relative class name, append
// with .php
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
// if the file exists, require it
if (file_exists($file)) {
require $file;
}
});

View File

@@ -1,5 +1,5 @@
{
"name": "SwaggerClient/SwaggerClient-php",
"name": "swagger/swagger-client",
"description": "",
"keywords": [
"swagger",
@@ -27,6 +27,6 @@
"squizlabs/php_codesniffer": "~2.0"
},
"autoload": {
"psr-4": { "SwaggerClient\\" : "lib/" }
"psr-4": { "Swagger\\Client\\" : "lib/" }
}
}

View File

@@ -0,0 +1,542 @@
<?php
/**
* Copyright 2015 SmartBear Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
*/
namespace Swagger\Client\Api;
use \Swagger\Client\ApiClient;
use \Swagger\Client\Configuration;
class PetApi {
/**
* @param \Swagger\Client\ApiClient|null $apiClient The api client to use. Defaults to getting it from Configuration
*/
function __construct($apiClient = null) {
if (null === $apiClient) {
if (Configuration::$apiClient === null) {
Configuration::$apiClient = new ApiClient(); // create a new API client if not present
$this->apiClient = Configuration::$apiClient;
}
else
$this->apiClient = Configuration::$apiClient; // use the default one
} else {
$this->apiClient = $apiClient; // use the one provided by the user
}
}
/** @var \Swagger\Client\ApiClient instance of the ApiClient */
private $apiClient;
/**
* @return \Swagger\Client\ApiClient get the API client
*/
public function getApiClient() {
return $this->apiClient;
}
/**
* @param \Swagger\Client $apiClient set the API client
*/
public function setApiClient($apiClient) {
$this->apiClient = $apiClient;
}
/**
* updatePet
*
* Update an existing pet
*
* @param \Swagger\Client\Model\Pet $body Pet object that needs to be added to the store (required)
* @return void
*/
public function updatePet($body) {
// parse inputs
$resourcePath = "/pet";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "PUT";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array('application/json','application/xml'));
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array('petstore_auth');
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
/**
* addPet
*
* Add a new pet to the store
*
* @param \Swagger\Client\Model\Pet $body Pet object that needs to be added to the store (required)
* @return void
*/
public function addPet($body) {
// parse inputs
$resourcePath = "/pet";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "POST";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array('application/json','application/xml'));
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array('petstore_auth');
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
/**
* findPetsByStatus
*
* Finds Pets by status
*
* @param string[] $status Status values that need to be considered for filter (required)
* @return \Swagger\Client\Model\Pet[]
*/
public function findPetsByStatus($status) {
// parse inputs
$resourcePath = "/pet/findByStatus";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "GET";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// query params
if($status !== null) {
$queryParams['status'] = $this->apiClient->toQueryValue($status);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array('petstore_auth');
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
if(! $response) {
return null;
}
$responseObject = $this->apiClient->deserialize($response,'\Swagger\Client\Model\Pet[]');
return $responseObject;
}
/**
* findPetsByTags
*
* Finds Pets by tags
*
* @param string[] $tags Tags to filter by (required)
* @return \Swagger\Client\Model\Pet[]
*/
public function findPetsByTags($tags) {
// parse inputs
$resourcePath = "/pet/findByTags";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "GET";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// query params
if($tags !== null) {
$queryParams['tags'] = $this->apiClient->toQueryValue($tags);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array('petstore_auth');
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
if(! $response) {
return null;
}
$responseObject = $this->apiClient->deserialize($response,'\Swagger\Client\Model\Pet[]');
return $responseObject;
}
/**
* getPetById
*
* Find pet by ID
*
* @param int $pet_id ID of pet that needs to be fetched (required)
* @return \Swagger\Client\Model\Pet
*/
public function getPetById($pet_id) {
// verify the required parameter 'pet_id' is set
if ($pet_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $pet_id when calling getPetById');
}
// parse inputs
$resourcePath = "/pet/{petId}";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "GET";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// path params
if($pet_id !== null) {
$resourcePath = str_replace("{" . "petId" . "}",
$this->apiClient->toPathValue($pet_id), $resourcePath);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array('api_key', 'petstore_auth');
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
if(! $response) {
return null;
}
$responseObject = $this->apiClient->deserialize($response,'\Swagger\Client\Model\Pet');
return $responseObject;
}
/**
* updatePetWithForm
*
* Updates a pet in the store with form data
*
* @param string $pet_id ID of pet that needs to be updated (required)
* @param string $name Updated name of the pet (required)
* @param string $status Updated status of the pet (required)
* @return void
*/
public function updatePetWithForm($pet_id, $name, $status) {
// verify the required parameter 'pet_id' is set
if ($pet_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $pet_id when calling updatePetWithForm');
}
// parse inputs
$resourcePath = "/pet/{petId}";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "POST";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array('application/x-www-form-urlencoded'));
// path params
if($pet_id !== null) {
$resourcePath = str_replace("{" . "petId" . "}",
$this->apiClient->toPathValue($pet_id), $resourcePath);
}
// form params
if ($name !== null) {
$formParams['name'] = $this->apiClient->toFormValue($name);
}// form params
if ($status !== null) {
$formParams['status'] = $this->apiClient->toFormValue($status);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array('petstore_auth');
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
/**
* deletePet
*
* Deletes a pet
*
* @param string $api_key (required)
* @param int $pet_id Pet id to delete (required)
* @return void
*/
public function deletePet($api_key, $pet_id) {
// verify the required parameter 'pet_id' is set
if ($pet_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $pet_id when calling deletePet');
}
// parse inputs
$resourcePath = "/pet/{petId}";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "DELETE";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// header params
if($api_key !== null) {
$headerParams['api_key'] = $this->apiClient->toHeaderValue($api_key);
}
// path params
if($pet_id !== null) {
$resourcePath = str_replace("{" . "petId" . "}",
$this->apiClient->toPathValue($pet_id), $resourcePath);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array('petstore_auth');
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
/**
* uploadFile
*
* uploads an image
*
* @param int $pet_id ID of pet to update (required)
* @param string $additional_metadata Additional data to pass to server (required)
* @param string $file file to upload (required)
* @return void
*/
public function uploadFile($pet_id, $additional_metadata, $file) {
// verify the required parameter 'pet_id' is set
if ($pet_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $pet_id when calling uploadFile');
}
// parse inputs
$resourcePath = "/pet/{petId}/uploadImage";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "POST";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array('multipart/form-data'));
// path params
if($pet_id !== null) {
$resourcePath = str_replace("{" . "petId" . "}",
$this->apiClient->toPathValue($pet_id), $resourcePath);
}
// form params
if ($additional_metadata !== null) {
$formParams['additionalMetadata'] = $this->apiClient->toFormValue($additional_metadata);
}// form params
if ($file !== null) {
$formParams['file'] = '@' . $this->apiClient->toFormValue($file);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array('petstore_auth');
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
}

View File

@@ -0,0 +1,297 @@
<?php
/**
* Copyright 2015 SmartBear Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
*/
namespace Swagger\Client\Api;
use \Swagger\Client\ApiClient;
use \Swagger\Client\Configuration;
class StoreApi {
/**
* @param \Swagger\Client\ApiClient|null $apiClient The api client to use. Defaults to getting it from Configuration
*/
function __construct($apiClient = null) {
if (null === $apiClient) {
if (Configuration::$apiClient === null) {
Configuration::$apiClient = new ApiClient(); // create a new API client if not present
$this->apiClient = Configuration::$apiClient;
}
else
$this->apiClient = Configuration::$apiClient; // use the default one
} else {
$this->apiClient = $apiClient; // use the one provided by the user
}
}
/** @var \Swagger\Client\ApiClient instance of the ApiClient */
private $apiClient;
/**
* @return \Swagger\Client\ApiClient get the API client
*/
public function getApiClient() {
return $this->apiClient;
}
/**
* @param \Swagger\Client $apiClient set the API client
*/
public function setApiClient($apiClient) {
$this->apiClient = $apiClient;
}
/**
* getInventory
*
* Returns pet inventories by status
*
* @return map[string,int]
*/
public function getInventory() {
// parse inputs
$resourcePath = "/store/inventory";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "GET";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array('api_key');
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
if(! $response) {
return null;
}
$responseObject = $this->apiClient->deserialize($response,'map[string,int]');
return $responseObject;
}
/**
* placeOrder
*
* Place an order for a pet
*
* @param \Swagger\Client\Model\Order $body order placed for purchasing the pet (required)
* @return \Swagger\Client\Model\Order
*/
public function placeOrder($body) {
// parse inputs
$resourcePath = "/store/order";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "POST";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
if(! $response) {
return null;
}
$responseObject = $this->apiClient->deserialize($response,'\Swagger\Client\Model\Order');
return $responseObject;
}
/**
* getOrderById
*
* Find purchase order by ID
*
* @param string $order_id ID of pet that needs to be fetched (required)
* @return \Swagger\Client\Model\Order
*/
public function getOrderById($order_id) {
// verify the required parameter 'order_id' is set
if ($order_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $order_id when calling getOrderById');
}
// parse inputs
$resourcePath = "/store/order/{orderId}";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "GET";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// path params
if($order_id !== null) {
$resourcePath = str_replace("{" . "orderId" . "}",
$this->apiClient->toPathValue($order_id), $resourcePath);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
if(! $response) {
return null;
}
$responseObject = $this->apiClient->deserialize($response,'\Swagger\Client\Model\Order');
return $responseObject;
}
/**
* deleteOrder
*
* Delete purchase order by ID
*
* @param string $order_id ID of the order that needs to be deleted (required)
* @return void
*/
public function deleteOrder($order_id) {
// verify the required parameter 'order_id' is set
if ($order_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $order_id when calling deleteOrder');
}
// parse inputs
$resourcePath = "/store/order/{orderId}";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "DELETE";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// path params
if($order_id !== null) {
$resourcePath = str_replace("{" . "orderId" . "}",
$this->apiClient->toPathValue($order_id), $resourcePath);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
}

View File

@@ -0,0 +1,517 @@
<?php
/**
* Copyright 2015 SmartBear Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
*/
namespace Swagger\Client\Api;
use \Swagger\Client\ApiClient;
use \Swagger\Client\Configuration;
class UserApi {
/**
* @param \Swagger\Client\ApiClient|null $apiClient The api client to use. Defaults to getting it from Configuration
*/
function __construct($apiClient = null) {
if (null === $apiClient) {
if (Configuration::$apiClient === null) {
Configuration::$apiClient = new ApiClient(); // create a new API client if not present
$this->apiClient = Configuration::$apiClient;
}
else
$this->apiClient = Configuration::$apiClient; // use the default one
} else {
$this->apiClient = $apiClient; // use the one provided by the user
}
}
/** @var \Swagger\Client\ApiClient instance of the ApiClient */
private $apiClient;
/**
* @return \Swagger\Client\ApiClient get the API client
*/
public function getApiClient() {
return $this->apiClient;
}
/**
* @param \Swagger\Client $apiClient set the API client
*/
public function setApiClient($apiClient) {
$this->apiClient = $apiClient;
}
/**
* createUser
*
* Create user
*
* @param \Swagger\Client\Model\User $body Created user object (required)
* @return void
*/
public function createUser($body) {
// parse inputs
$resourcePath = "/user";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "POST";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
/**
* createUsersWithArrayInput
*
* Creates list of users with given input array
*
* @param \Swagger\Client\Model\User[] $body List of user object (required)
* @return void
*/
public function createUsersWithArrayInput($body) {
// parse inputs
$resourcePath = "/user/createWithArray";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "POST";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
/**
* createUsersWithListInput
*
* Creates list of users with given input array
*
* @param \Swagger\Client\Model\User[] $body List of user object (required)
* @return void
*/
public function createUsersWithListInput($body) {
// parse inputs
$resourcePath = "/user/createWithList";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "POST";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
/**
* loginUser
*
* Logs user into the system
*
* @param string $username The user name for login (required)
* @param string $password The password for login in clear text (required)
* @return string
*/
public function loginUser($username, $password) {
// parse inputs
$resourcePath = "/user/login";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "GET";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// query params
if($username !== null) {
$queryParams['username'] = $this->apiClient->toQueryValue($username);
}// query params
if($password !== null) {
$queryParams['password'] = $this->apiClient->toQueryValue($password);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
if(! $response) {
return null;
}
$responseObject = $this->apiClient->deserialize($response,'string');
return $responseObject;
}
/**
* logoutUser
*
* Logs out current logged in user session
*
* @return void
*/
public function logoutUser() {
// parse inputs
$resourcePath = "/user/logout";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "GET";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
/**
* getUserByName
*
* Get user by user name
*
* @param string $username The name that needs to be fetched. Use user1 for testing. (required)
* @return \Swagger\Client\Model\User
*/
public function getUserByName($username) {
// verify the required parameter 'username' is set
if ($username === null) {
throw new \InvalidArgumentException('Missing the required parameter $username when calling getUserByName');
}
// parse inputs
$resourcePath = "/user/{username}";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "GET";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// path params
if($username !== null) {
$resourcePath = str_replace("{" . "username" . "}",
$this->apiClient->toPathValue($username), $resourcePath);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
if(! $response) {
return null;
}
$responseObject = $this->apiClient->deserialize($response,'\Swagger\Client\Model\User');
return $responseObject;
}
/**
* updateUser
*
* Updated user
*
* @param string $username name that need to be deleted (required)
* @param \Swagger\Client\Model\User $body Updated user object (required)
* @return void
*/
public function updateUser($username, $body) {
// verify the required parameter 'username' is set
if ($username === null) {
throw new \InvalidArgumentException('Missing the required parameter $username when calling updateUser');
}
// parse inputs
$resourcePath = "/user/{username}";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "PUT";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// path params
if($username !== null) {
$resourcePath = str_replace("{" . "username" . "}",
$this->apiClient->toPathValue($username), $resourcePath);
}
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
/**
* deleteUser
*
* Delete user
*
* @param string $username The name that needs to be deleted (required)
* @return void
*/
public function deleteUser($username) {
// verify the required parameter 'username' is set
if ($username === null) {
throw new \InvalidArgumentException('Missing the required parameter $username when calling deleteUser');
}
// parse inputs
$resourcePath = "/user/{username}";
$resourcePath = str_replace("{format}", "json", $resourcePath);
$method = "DELETE";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = $this->apiClient->selectHeaderAccept(array('application/json', 'application/xml'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array());
// path params
if($username !== null) {
$resourcePath = str_replace("{" . "username" . "}",
$this->apiClient->toPathValue($username), $resourcePath);
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} else if (count($formParams) > 0) {
// for HTTP post (form)
$httpBody = $formParams;
}
// authentication setting, if any
$authSettings = array();
// make the API Call
$response = $this->apiClient->callAPI($resourcePath, $method,
$queryParams, $httpBody,
$headerParams, $authSettings);
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
namespace SwaggerClient;
namespace Swagger\Client;
class ApiClient {
@@ -24,17 +24,14 @@ class ApiClient {
public static $GET = "GET";
public static $PUT = "PUT";
public static $DELETE = "DELETE";
/** @var string[] Array of default headers where the key is the header name and the value is the header value */
private $default_header = array();
/*
* @var string timeout (second) of the HTTP request, by default set to 0, no timeout
*/
/** @var string timeout (second) of the HTTP request, by default set to 0, no timeout */
protected $curl_timeout = 0;
/*
* @var string user agent of the HTTP request, set to "PHP-Swagger" by default
*/
/** @var string user agent of the HTTP request, set to "PHP-Swagger" by default */
protected $user_agent = "PHP-Swagger";
/**
@@ -391,8 +388,8 @@ class ApiClient {
$deserialized[$key] = $this->deserialize($value, $subClass);
}
}
} elseif (strcasecmp(substr($class, 0, 6),'array[') == 0) {
$subClass = substr($class, 6, -1);
} elseif (strcasecmp(substr($class, -2),'[]') == 0) {
$subClass = substr($class, 0, -2);
$values = array();
foreach ($data as $key => $value) {
$values[] = $this->deserialize($value, $subClass);
@@ -404,7 +401,6 @@ class ApiClient {
settype($data, $class);
$deserialized = $data;
} else {
$class = "SwaggerClient\\models\\".$class;
$instance = new $class();
foreach ($instance::$swaggerTypes as $property => $type) {
$original_property_name = $instance::$attributeMap[$property];

View File

@@ -15,20 +15,16 @@
* limitations under the License.
*/
namespace SwaggerClient;
namespace Swagger\Client;
use \Exception;
class ApiException extends Exception {
/**
* The HTTP body of the server response.
*/
/** @var string The HTTP body of the server response. */
protected $response_body;
/**
* The HTTP header of the server response.
*/
/** @var string[] The HTTP header of the server response. */
protected $response_headers;
public function __construct($message="", $code=0, $responseHeaders=null, $responseBody=null) {

View File

@@ -15,43 +15,31 @@
* limitations under the License.
*/
namespace SwaggerClient;
namespace Swagger\Client;
use \Swagger\Client\ApiClient;
class Configuration {
/**
* Associate array to store API key(s)
*/
/** @var string[] Associate array to store API key(s) */
public static $apiKey = array();
/**
* Associate array to store API prefix (e.g. Bearer)
*/
/** string[] Associate array to store API prefix (e.g. Bearer) */
public static $apiKeyPrefix = array();
/**
* Username for HTTP basic authentication
*/
/** @var string Username for HTTP basic authentication */
public static $username = '';
/**
* Password for HTTP basic authentication
*/
/** @var string Password for HTTP basic authentication */
public static $password = '';
/**
* The default instance of ApiClient
*/
/** @var \Swagger\Client\ApiClient The default instance of ApiClient */
public static $apiClient;
/**
* Debug switch (default set to false)
*/
/** @var bool Debug switch (default set to false) */
public static $debug = false;
/**
* Debug file location (log to STDOUT by default)
*/
/** @var string Debug file location (log to STDOUT by default) */
public static $debug_file = 'php://output';
/*
@@ -63,4 +51,3 @@ class Configuration {
}
}

View File

@@ -22,28 +22,35 @@
*
*/
namespace SwaggerClient\models;
namespace Swagger\Client\Model;
use \ArrayAccess;
class Category implements ArrayAccess {
/** @var string[] Array of property to type mappings. Used for (de)serialization */
static $swaggerTypes = array(
'id' => 'int',
'name' => 'string'
);
/** @var string[] Array of attributes where the key is the local name, and the value is the original name */
static $attributeMap = array(
'id' => 'id',
'name' => 'name'
);
public $id; /* int */
public $name; /* string */
/** @var int $id */
public $id;
/** @var string $name */
public $name;
/**
* @param mixed[] Array of parameters to initialize the object with
*/
public function __construct(array $data = null) {
$this->id = $data["id"];
$this->name = $data["name"];
$this->id = @$data["id"];
$this->name = @$data["name"];
}
public function offsetExists($offset) {

View File

@@ -22,20 +22,22 @@
*
*/
namespace SwaggerClient\models;
namespace Swagger\Client\Model;
use \ArrayAccess;
class Order implements ArrayAccess {
/** @var string[] Array of property to type mappings. Used for (de)serialization */
static $swaggerTypes = array(
'id' => 'int',
'pet_id' => 'int',
'quantity' => 'int',
'ship_date' => 'DateTime',
'ship_date' => '\DateTime',
'status' => 'string',
'complete' => 'boolean'
'complete' => 'bool'
);
/** @var string[] Array of attributes where the key is the local name, and the value is the original name */
static $attributeMap = array(
'id' => 'id',
'pet_id' => 'petId',
@@ -44,25 +46,35 @@ class Order implements ArrayAccess {
'status' => 'status',
'complete' => 'complete'
);
public $id; /* int */
public $pet_id; /* int */
public $quantity; /* int */
public $ship_date; /* DateTime */
/** @var int $id */
public $id;
/** @var int $pet_id */
public $pet_id;
/** @var int $quantity */
public $quantity;
/** @var \DateTime $ship_date */
public $ship_date;
/** @var string $status Order Status */
public $status;
/** @var bool $complete */
public $complete;
/**
* Order Status
*/
public $status; /* string */
public $complete; /* boolean */
* @param mixed[] Array of parameters to initialize the object with
*/
public function __construct(array $data = null) {
$this->id = $data["id"];
$this->pet_id = $data["pet_id"];
$this->quantity = $data["quantity"];
$this->ship_date = $data["ship_date"];
$this->status = $data["status"];
$this->complete = $data["complete"];
$this->id = @$data["id"];
$this->pet_id = @$data["pet_id"];
$this->quantity = @$data["quantity"];
$this->ship_date = @$data["ship_date"];
$this->status = @$data["status"];
$this->complete = @$data["complete"];
}
public function offsetExists($offset) {

View File

@@ -22,20 +22,22 @@
*
*/
namespace SwaggerClient\models;
namespace Swagger\Client\Model;
use \ArrayAccess;
class Pet implements ArrayAccess {
/** @var string[] Array of property to type mappings. Used for (de)serialization */
static $swaggerTypes = array(
'id' => 'int',
'category' => 'Category',
'category' => '\Swagger\Client\Model\Category',
'name' => 'string',
'photo_urls' => 'array[string]',
'tags' => 'array[Tag]',
'photo_urls' => 'string[]',
'tags' => '\Swagger\Client\Model\Tag[]',
'status' => 'string'
);
/** @var string[] Array of attributes where the key is the local name, and the value is the original name */
static $attributeMap = array(
'id' => 'id',
'category' => 'category',
@@ -44,25 +46,35 @@ class Pet implements ArrayAccess {
'tags' => 'tags',
'status' => 'status'
);
public $id; /* int */
public $category; /* Category */
public $name; /* string */
public $photo_urls; /* array[string] */
public $tags; /* array[Tag] */
/** @var int $id */
public $id;
/** @var \Swagger\Client\Model\Category $category */
public $category;
/** @var string $name */
public $name;
/** @var string[] $photo_urls */
public $photo_urls;
/** @var \Swagger\Client\Model\Tag[] $tags */
public $tags;
/** @var string $status pet status in the store */
public $status;
/**
* pet status in the store
*/
public $status; /* string */
* @param mixed[] Array of parameters to initialize the object with
*/
public function __construct(array $data = null) {
$this->id = $data["id"];
$this->category = $data["category"];
$this->name = $data["name"];
$this->photo_urls = $data["photo_urls"];
$this->tags = $data["tags"];
$this->status = $data["status"];
$this->id = @$data["id"];
$this->category = @$data["category"];
$this->name = @$data["name"];
$this->photo_urls = @$data["photo_urls"];
$this->tags = @$data["tags"];
$this->status = @$data["status"];
}
public function offsetExists($offset) {

View File

@@ -22,28 +22,35 @@
*
*/
namespace SwaggerClient\models;
namespace Swagger\Client\Model;
use \ArrayAccess;
class Tag implements ArrayAccess {
/** @var string[] Array of property to type mappings. Used for (de)serialization */
static $swaggerTypes = array(
'id' => 'int',
'name' => 'string'
);
/** @var string[] Array of attributes where the key is the local name, and the value is the original name */
static $attributeMap = array(
'id' => 'id',
'name' => 'name'
);
public $id; /* int */
public $name; /* string */
/** @var int $id */
public $id;
/** @var string $name */
public $name;
/**
* @param mixed[] Array of parameters to initialize the object with
*/
public function __construct(array $data = null) {
$this->id = $data["id"];
$this->name = $data["name"];
$this->id = @$data["id"];
$this->name = @$data["name"];
}
public function offsetExists($offset) {

View File

@@ -22,11 +22,12 @@
*
*/
namespace SwaggerClient\models;
namespace Swagger\Client\Model;
use \ArrayAccess;
class User implements ArrayAccess {
/** @var string[] Array of property to type mappings. Used for (de)serialization */
static $swaggerTypes = array(
'id' => 'int',
'username' => 'string',
@@ -38,6 +39,7 @@ class User implements ArrayAccess {
'user_status' => 'int'
);
/** @var string[] Array of attributes where the key is the local name, and the value is the original name */
static $attributeMap = array(
'id' => 'id',
'username' => 'username',
@@ -48,29 +50,43 @@ class User implements ArrayAccess {
'phone' => 'phone',
'user_status' => 'userStatus'
);
public $id; /* int */
public $username; /* string */
public $first_name; /* string */
public $last_name; /* string */
public $email; /* string */
public $password; /* string */
public $phone; /* string */
/** @var int $id */
public $id;
/** @var string $username */
public $username;
/** @var string $first_name */
public $first_name;
/** @var string $last_name */
public $last_name;
/** @var string $email */
public $email;
/** @var string $password */
public $password;
/** @var string $phone */
public $phone;
/** @var int $user_status User Status */
public $user_status;
/**
* User Status
*/
public $user_status; /* int */
* @param mixed[] Array of parameters to initialize the object with
*/
public function __construct(array $data = null) {
$this->id = $data["id"];
$this->username = $data["username"];
$this->first_name = $data["first_name"];
$this->last_name = $data["last_name"];
$this->email = $data["email"];
$this->password = $data["password"];
$this->phone = $data["phone"];
$this->user_status = $data["user_status"];
$this->id = @$data["id"];
$this->username = @$data["username"];
$this->first_name = @$data["first_name"];
$this->last_name = @$data["last_name"];
$this->email = @$data["email"];
$this->password = @$data["password"];
$this->phone = @$data["phone"];
$this->user_status = @$data["user_status"];
}
public function offsetExists($offset) {

View File

@@ -1,6 +1,6 @@
<?php
require_once('SwaggerClient.php');
require_once('autoload.php');
class PetApiTest extends \PHPUnit_Framework_TestCase
{
@@ -15,28 +15,28 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
error_reporting(-1);
// enable debugging
//SwaggerClient\Configuration::$debug = true;
//Swagger\Client\Configuration::$debug = true;
// skip initializing the API client as it should be automatic
//$api_client = new SwaggerClient\ApiClient('http://petstore.swagger.io/v2');
//$api_client = new Swagger\Client\ApiClient('http://petstore.swagger.io/v2');
// new pet
$new_pet_id = 10005;
$new_pet = new SwaggerClient\models\Pet;
$new_pet = new Swagger\Client\Model\Pet;
$new_pet->id = $new_pet_id;
$new_pet->name = "PHP Unit Test";
// new tag
$tag= new SwaggerClient\models\Tag;
$tag= new Swagger\Client\Model\Tag;
$tag->id = $new_pet_id; // use the same id as pet
$tag->name = "test php tag";
// new category
$category = new SwaggerClient\models\Category;
$category = new Swagger\Client\Model\Category;
$category->id = $new_pet_id; // use the same id as pet
$category->name = "test php category";
$new_pet->tags = array($tag);
$new_pet->category = $category;
$pet_api = new SwaggerClient\PetAPI();
$pet_api = new Swagger\Client\Api\PetAPI();
// add a new pet (model)
$add_response = $pet_api->addPet($new_pet);
}
@@ -45,7 +45,7 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
public function testApiClient()
{
// test selectHeaderAccept
$api_client = new SwaggerClient\ApiClient();
$api_client = new Swagger\Client\ApiClient();
$this->assertSame('application/json', $api_client->selectHeaderAccept(array('application/xml','application/json')));
$this->assertSame(NULL, $api_client->selectHeaderAccept(array()));
$this->assertSame('application/yaml,application/xml', $api_client->selectHeaderAccept(array('application/yaml','application/xml')));
@@ -67,22 +67,22 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
$defaultHeader = $api_client->getDefaultHeader();
$this->assertFalse(isset($defaultHeader['test2']));
$pet_api = new SwaggerClient\PetAPI();
$pet_api2 = new SwaggerClient\PetAPI();
$apiClient3 = new SwaggerClient\ApiClient();
$pet_api = new Swagger\Client\Api\PetAPI();
$pet_api2 = new Swagger\Client\Api\PetAPI();
$apiClient3 = new Swagger\Client\ApiClient();
$apiClient3->setUserAgent = 'api client 3';
$apiClient4 = new SwaggerClient\ApiClient();
$apiClient4 = new Swagger\Client\ApiClient();
$apiClient4->setUserAgent = 'api client 4';
$pet_api3 = new SwaggerClient\PetAPI($apiClient3);
$pet_api3 = new Swagger\Client\Api\PetAPI($apiClient3);
// same default api client
$this->assertSame($pet_api->getApiClient(), $pet_api2->getApiClient());
// confirm using the default api client in the Configuration
$this->assertSame($pet_api->getApiClient(), SwaggerClient\Configuration::$apiClient);
$this->assertSame($pet_api->getApiClient(), Swagger\Client\Configuration::$apiClient);
// 2 different api clients are not the same
$this->assertNotEquals($apiClient3, $apiClient4);
// customized pet api not using the default (configuration) api client
$this->assertNotEquals($pet_api3->getApiClient(), SwaggerClient\Configuration::$apiClient);
$this->assertNotEquals($pet_api3->getApiClient(), Swagger\Client\Configuration::$apiClient);
// customied pet api not using the old pet api's api client
$this->assertNotEquals($pet_api2->getApiClient(), $pet_api3->getApiClient());
@@ -96,10 +96,10 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
public function testGetPetById()
{
// initialize the API client without host
$api_client = new SwaggerClient\ApiClient();
SwaggerClient\Configuration::$apiKey['api_key'] = '111222333444555';
$api_client = new Swagger\Client\ApiClient();
Swagger\Client\Configuration::$apiKey['api_key'] = '111222333444555';
$pet_id = 10005; // ID of pet that needs to be fetched
$pet_api = new SwaggerClient\PetAPI($api_client);
$pet_api = new Swagger\Client\Api\PetAPI($api_client);
// return Pet (model)
$response = $pet_api->getPetById($pet_id);
$this->assertSame($response->id, $pet_id);
@@ -114,12 +114,12 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
public function testFindPetByStatus()
{
// initialize the API client
$api_client = new SwaggerClient\ApiClient('http://petstore.swagger.io/v2');
$pet_api = new SwaggerClient\PetAPI($api_client);
$api_client = new Swagger\Client\ApiClient('http://petstore.swagger.io/v2');
$pet_api = new Swagger\Client\Api\PetAPI($api_client);
// return Pet (model)
$response = $pet_api->findPetsByStatus("available");
$this->assertGreaterThan(0, count($response)); // at least one object returned
$this->assertSame(get_class($response[0]), "SwaggerClient\models\Pet"); // verify the object is Pet
$this->assertSame(get_class($response[0]), "Swagger\\Client\\Model\\Pet"); // verify the object is Pet
// loop through result to ensure status is "available"
foreach ($response as $_pet) {
$this->assertSame($_pet['status'], "available");
@@ -133,11 +133,11 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
public function testUpdatePet()
{
// initialize the API client
$api_client = new SwaggerClient\ApiClient('http://petstore.swagger.io/v2');
$api_client = new Swagger\Client\ApiClient('http://petstore.swagger.io/v2');
$pet_id = 10001; // ID of pet that needs to be fetched
$pet_api = new SwaggerClient\PetAPI($api_client);
$pet_api = new Swagger\Client\Api\PetAPI($api_client);
// create updated pet object
$updated_pet = new SwaggerClient\models\Pet;
$updated_pet = new Swagger\Client\Model\Pet;
$updated_pet->id = $pet_id;
$updated_pet->name = 'updatePet'; // new name
$updated_pet->status = 'pending'; // new status
@@ -156,9 +156,9 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
public function testUpdatePetWithForm()
{
// initialize the API client
$api_client = new SwaggerClient\ApiClient('http://petstore.swagger.io/v2');
$api_client = new Swagger\Client\ApiClient('http://petstore.swagger.io/v2');
$pet_id = 10001; // ID of pet that needs to be fetched
$pet_api = new SwaggerClient\PetAPI($api_client);
$pet_api = new Swagger\Client\Api\PetAPI($api_client);
// update Pet (form)
$update_response = $pet_api->updatePetWithForm($pet_id, 'update pet with form', 'sold');
// return nothing (void)
@@ -173,12 +173,12 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
public function testAddPet()
{
// initialize the API client
$api_client = new SwaggerClient\ApiClient('http://petstore.swagger.io/v2');
$api_client = new Swagger\Client\ApiClient('http://petstore.swagger.io/v2');
$new_pet_id = 10001;
$new_pet = new SwaggerClient\models\Pet;
$new_pet = new Swagger\Client\Model\Pet;
$new_pet->id = $new_pet_id;
$new_pet->name = "PHP Unit Test";
$pet_api = new SwaggerClient\PetAPI($api_client);
$pet_api = new Swagger\Client\Api\PetAPI($api_client);
// add a new pet (model)
$add_response = $pet_api->addPet($new_pet);
// return nothing (void)
@@ -193,8 +193,8 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
public function testUploadFile()
{
// initialize the API client
$api_client = new SwaggerClient\ApiClient('http://petstore.swagger.io/v2');
$pet_api = new SwaggerClient\PetAPI($api_client);
$api_client = new Swagger\Client\ApiClient('http://petstore.swagger.io/v2');
$pet_api = new Swagger\Client\Api\PetAPI($api_client);
// upload file
$pet_id = 10001;
$add_response = $pet_api->uploadFile($pet_id, "test meta", "./composer.json");
@@ -206,8 +206,8 @@ class PetApiTest extends \PHPUnit_Framework_TestCase
public function testGetInventory()
{
// initialize the API client
$api_client = new SwaggerClient\APIClient('http://petstore.swagger.io/v2');
$store_api = new SwaggerClient\StoreAPI($api_client);
$api_client = new Swagger\Client\APIClient('http://petstore.swagger.io/v2');
$store_api = new Swagger\Client\Api\StoreAPI($api_client);
// get inventory
$get_response = $store_api->getInventory();

View File

@@ -1,6 +1,5 @@
<?php
//require_once('vendor/autoload.php');
require_once('SwaggerClient-php/SwaggerClient.php');
require_once(__DIR__ . '/SwaggerClient-php/autoload.php');
// show error reporting
//ini_set('display_errors', 1);
@@ -18,7 +17,7 @@ $petId = 10005; // ID of pet that needs to be fetched
try {
// get pet by id
//$pet_api = new SwaggerClient\PetAPI($api_client);
$pet_api = new SwaggerClient\PetAPI();
$pet_api = new Swagger\Client\Api\PetAPI();
// test default header
$pet_api->getApiClient()->addDefaultHeader("TEST_API_KEY", "09182sdkanafndsl903");
// return Pet (model)
@@ -28,34 +27,31 @@ try {
// add pet (post json)
$new_pet_id = 10005;
$new_pet = new SwaggerClient\models\Pet;
$new_pet = new Swagger\Client\Model\Pet;
$new_pet->id = $new_pet_id;
$new_pet->name = "PHP Unit Test";
// new tag
$tag= new SwaggerClient\models\Tag;
$tag= new Swagger\Client\Model\Tag;
$tag->id = $new_pet_id; // use the same id as pet
//$tag->name = "test php tag";
// new category
$category = new SwaggerClient\models\Category;
$category = new Swagger\Client\Model\Category;
$category->id = 0; // use the same id as pet
//$category->name = "test php category";
$new_pet->tags = array($tag);
$new_pet->category = $category;
$pet_api = new SwaggerClient\PetAPI();
$pet_api = new Swagger\Client\Api\PetAPI();
// add a new pet (model)
$add_response = $pet_api->addPet($new_pet);
// test upload file (exception)
$upload_response = $pet_api->uploadFile($petId, "test meta", NULL);
} catch (Exception $e) {
} catch (Swagger\Client\Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
echo 'HTTP response headers: ', $e->getResponseHeaders(), "\n";
echo 'HTTP response body: ', $e->getResponseBody(), "\n";
echo 'HTTP status code: ', $e->getCode(), "\n";
}
?>

View File

@@ -2,6 +2,7 @@
require 'swagger_client/monkey'
require 'swagger_client/swagger'
require 'swagger_client/swagger/configuration'
require 'swagger_client/swagger/api_error'
require 'swagger_client/swagger/request'
require 'swagger_client/swagger/response'
require 'swagger_client/swagger/version'
@@ -16,8 +17,8 @@ require 'swagger_client/models/order'
# APIs
require 'swagger_client/api/user_api'
require 'swagger_client/api/store_api'
require 'swagger_client/api/pet_api'
require 'swagger_client/api/store_api'
module SwaggerClient
# Initialize the default configuration

View File

@@ -82,8 +82,8 @@ module SwaggerClient
# Finds Pets by status
# Multiple status values can be provided with comma seperated strings
# @param [Hash] opts the optional parameters
# @option opts [array[string]] :status Status values that need to be considered for filter
# @return [array[Pet]]
# @option opts [Array<String>] :status Status values that need to be considered for filter
# @return [Array<Pet>]
def self.find_pets_by_status(opts = {})
@@ -113,15 +113,15 @@ module SwaggerClient
auth_names = ['petstore_auth']
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make.body
response.map {|response| obj = Pet.new() and obj.build_from_hash(response) }
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make
response.deserialize('Array<Pet>')
end
# Finds Pets by tags
# Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.
# @param [Hash] opts the optional parameters
# @option opts [array[string]] :tags Tags to filter by
# @return [array[Pet]]
# @option opts [Array<String>] :tags Tags to filter by
# @return [Array<Pet>]
def self.find_pets_by_tags(opts = {})
@@ -151,8 +151,8 @@ module SwaggerClient
auth_names = ['petstore_auth']
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make.body
response.map {|response| obj = Pet.new() and obj.build_from_hash(response) }
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make
response.deserialize('Array<Pet>')
end
# Find pet by ID
@@ -190,17 +190,17 @@ module SwaggerClient
post_body = nil
auth_names = ['petstore_auth', 'api_key']
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make.body
obj = Pet.new() and obj.build_from_hash(response)
auth_names = ['api_key', 'petstore_auth']
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make
response.deserialize('Pet')
end
# Updates a pet in the store with form data
#
# @param pet_id ID of pet that needs to be updated
# @param [Hash] opts the optional parameters
# @option opts [string] :name Updated name of the pet
# @option opts [string] :status Updated status of the pet
# @option opts [String] :name Updated name of the pet
# @option opts [String] :status Updated status of the pet
# @return [nil]
def self.update_pet_with_form(pet_id, opts = {})
@@ -243,7 +243,7 @@ module SwaggerClient
#
# @param pet_id Pet id to delete
# @param [Hash] opts the optional parameters
# @option opts [string] :api_key
# @option opts [String] :api_key
# @return [nil]
def self.delete_pet(pet_id, opts = {})
@@ -285,7 +285,7 @@ module SwaggerClient
#
# @param pet_id ID of pet to update
# @param [Hash] opts the optional parameters
# @option opts [string] :additional_metadata Additional data to pass to server
# @option opts [String] :additional_metadata Additional data to pass to server
# @option opts [file] :file file to upload
# @return [nil]
def self.upload_file(pet_id, opts = {})

View File

@@ -8,7 +8,7 @@ module SwaggerClient
# Returns pet inventories by status
# Returns a map of status codes to quantities
# @param [Hash] opts the optional parameters
# @return [map[string,int]]
# @return [Hash<String, Integer>]
def self.get_inventory(opts = {})
@@ -37,8 +37,8 @@ module SwaggerClient
auth_names = ['api_key']
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make.body
response.map {|response| obj = map.new() and obj.build_from_hash(response) }
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make
response.deserialize('Hash<String, Integer>')
end
# Place an order for a pet
@@ -74,8 +74,8 @@ module SwaggerClient
auth_names = []
response = Swagger::Request.new(:POST, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make.body
obj = Order.new() and obj.build_from_hash(response)
response = Swagger::Request.new(:POST, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make
response.deserialize('Order')
end
# Find purchase order by ID
@@ -114,8 +114,8 @@ module SwaggerClient
auth_names = []
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make.body
obj = Order.new() and obj.build_from_hash(response)
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make
response.deserialize('Order')
end
# Delete purchase order by ID

View File

@@ -45,7 +45,7 @@ module SwaggerClient
# Creates list of users with given input array
#
# @param [Hash] opts the optional parameters
# @option opts [array[User]] :body List of user object
# @option opts [Array<User>] :body List of user object
# @return [nil]
def self.create_users_with_array_input(opts = {})
@@ -82,7 +82,7 @@ module SwaggerClient
# Creates list of users with given input array
#
# @param [Hash] opts the optional parameters
# @option opts [array[User]] :body List of user object
# @option opts [Array<User>] :body List of user object
# @return [nil]
def self.create_users_with_list_input(opts = {})
@@ -119,9 +119,9 @@ module SwaggerClient
# Logs user into the system
#
# @param [Hash] opts the optional parameters
# @option opts [string] :username The user name for login
# @option opts [string] :password The password for login in clear text
# @return [string]
# @option opts [String] :username The user name for login
# @option opts [String] :password The password for login in clear text
# @return [String]
def self.login_user(opts = {})
@@ -152,8 +152,8 @@ module SwaggerClient
auth_names = []
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make.body
obj = string.new() and obj.build_from_hash(response)
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make
response.deserialize('String')
end
# Logs out current logged in user session
@@ -228,8 +228,8 @@ module SwaggerClient
auth_names = []
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make.body
obj = User.new() and obj.build_from_hash(response)
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body, :auth_names => auth_names}).make
response.deserialize('User')
end
# Updated user

View File

@@ -2,20 +2,11 @@ module SwaggerClient
# base class containing fundamental method such as to_hash, build_from_hash and more
class BaseObject
# return the object in the form of hash
def to_body
body = {}
self.class.attribute_map.each_pair do |key, value|
body[value] = self.send(key) unless self.send(key).nil?
end
body
end
# build the object from hash
def build_from_hash(attributes)
return nil unless attributes.is_a?(Hash)
self.class.swagger_types.each_pair do |key, type|
if type =~ /^array\[(.*)\]/i
if type =~ /^Array<(.*)>/i
if attributes[self.class.attribute_map[key]].is_a?(Array)
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
else
@@ -35,13 +26,13 @@ module SwaggerClient
case type.to_sym
when :DateTime
DateTime.parse(value)
when :string
when :String
value.to_s
when :int
when :Integer
value.to_i
when :double
when :Float
value.to_f
when :boolean
when :BOOLEAN
if value =~ /^(true|t|yes|y|1)$/i
true
else
@@ -53,7 +44,16 @@ module SwaggerClient
end
end
# to_body is an alias to to_body (backward compatibility)
def to_s
to_hash.to_s
end
# to_body is an alias to to_body (backward compatibility))
def to_body
to_hash
end
# return the object in the form of hash
def to_hash
hash = {}
self.class.attribute_map.each_pair do |key, value|

View File

@@ -18,8 +18,8 @@ module SwaggerClient
# attribute type
def self.swagger_types
{
:'id' => :'int',
:'name' => :'string'
:'id' => :'Integer',
:'name' => :'String'
}
end

View File

@@ -30,12 +30,12 @@ module SwaggerClient
# attribute type
def self.swagger_types
{
:'id' => :'int',
:'pet_id' => :'int',
:'quantity' => :'int',
:'id' => :'Integer',
:'pet_id' => :'Integer',
:'quantity' => :'Integer',
:'ship_date' => :'DateTime',
:'status' => :'string',
:'complete' => :'boolean'
:'status' => :'String',
:'complete' => :'BOOLEAN'
}
end

View File

@@ -30,12 +30,12 @@ module SwaggerClient
# attribute type
def self.swagger_types
{
:'id' => :'int',
:'id' => :'Integer',
:'category' => :'Category',
:'name' => :'string',
:'photo_urls' => :'array[string]',
:'tags' => :'array[Tag]',
:'status' => :'string'
:'name' => :'String',
:'photo_urls' => :'Array<String>',
:'tags' => :'Array<Tag>',
:'status' => :'String'
}
end

View File

@@ -18,8 +18,8 @@ module SwaggerClient
# attribute type
def self.swagger_types
{
:'id' => :'int',
:'name' => :'string'
:'id' => :'Integer',
:'name' => :'String'
}
end

View File

@@ -36,14 +36,14 @@ module SwaggerClient
# attribute type
def self.swagger_types
{
:'id' => :'int',
:'username' => :'string',
:'first_name' => :'string',
:'last_name' => :'string',
:'email' => :'string',
:'password' => :'string',
:'phone' => :'string',
:'user_status' => :'int'
:'id' => :'Integer',
:'username' => :'String',
:'first_name' => :'String',
:'last_name' => :'String',
:'email' => :'String',
:'password' => :'String',
:'phone' => :'String',
:'user_status' => :'Integer'
}
end

View File

@@ -1,90 +1,82 @@
# module Swagger
class Object
unless Object.method_defined? :blank?
def blank?
respond_to?(:empty?) ? empty? : !self
end
class Object
unless Object.method_defined? :blank?
def blank?
respond_to?(:empty?) ? empty? : !self
end
unless Object.method_defined? :present?
def present?
!blank?
end
end
end
class String
unless String.method_defined? :underscore
def underscore
self.gsub(/::/, '/').
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
gsub(/([a-z\d])([A-Z])/,'\1_\2').
tr("-", "_").
downcase
end
end
unless String.method_defined? :camelize
def camelize(first_letter_in_uppercase = true)
if first_letter_in_uppercase != :lower
self.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
else
self.to_s[0].chr.downcase + camelize(self)[1..-1]
end
end
unless Object.method_defined? :present?
def present?
!blank?
end
end
end
class String
unless String.method_defined? :underscore
def underscore
self.gsub(/::/, '/').
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
gsub(/([a-z\d])([A-Z])/,'\1_\2').
tr("-", "_").
downcase
end
end
class Hash
unless Hash.method_defined? :stringify_keys
def stringify_keys
inject({}) do |options, (key, value)|
options[key.to_s] = value
options
end
unless String.method_defined? :camelize
def camelize(first_letter_in_uppercase = true)
if first_letter_in_uppercase != :lower
self.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
else
self.to_s[0].chr.downcase + camelize(self)[1..-1]
end
end
unless Hash.method_defined? :stringify_keys!
def stringify_keys!
self.replace(self.stringify_keys)
end
end
unless Hash.method_defined? :symbolize_keys
def symbolize_keys
inject({}) do |options, (key, value)|
options[(key.to_sym rescue key) || key] = value
options
end
end
end
unless Hash.method_defined? :symbolize_keys!
def symbolize_keys!
self.replace(self.symbolize_keys)
end
end
unless Hash.method_defined? :symbolize_and_underscore_keys
def symbolize_and_underscore_keys
inject({}) do |options, (key, value)|
options[(key.to_s.underscore.to_sym rescue key) || key] = value
options
end
end
end
unless Hash.method_defined? :symbolize_and_underscore_keys!
def symbolize_and_underscore_keys!
self.replace(self.symbolize_and_underscore_keys)
end
end
end
# end
end
class Hash
unless Hash.method_defined? :stringify_keys
def stringify_keys
inject({}) do |options, (key, value)|
options[key.to_s] = value
options
end
end
end
unless Hash.method_defined? :stringify_keys!
def stringify_keys!
self.replace(self.stringify_keys)
end
end
unless Hash.method_defined? :symbolize_keys
def symbolize_keys
inject({}) do |options, (key, value)|
options[(key.to_sym rescue key) || key] = value
options
end
end
end
unless Hash.method_defined? :symbolize_keys!
def symbolize_keys!
self.replace(self.symbolize_keys)
end
end
unless Hash.method_defined? :symbolize_and_underscore_keys
def symbolize_and_underscore_keys
inject({}) do |options, (key, value)|
options[(key.to_s.underscore.to_sym rescue key) || key] = value
options
end
end
end
unless Hash.method_defined? :symbolize_and_underscore_keys!
def symbolize_and_underscore_keys!
self.replace(self.symbolize_and_underscore_keys)
end
end
end

View File

@@ -52,7 +52,7 @@ module SwaggerClient
return if Swagger.authenticated?
if Swagger.configuration.username.blank? || Swagger.configuration.password.blank?
raise ClientError, "Username and password are required to authenticate."
raise ApiError, "Username and password are required to authenticate."
end
request = Swagger::Request.new(
@@ -69,10 +69,4 @@ module SwaggerClient
end
end
end
class ServerError < StandardError
end
class ClientError < StandardError
end
end

View File

@@ -0,0 +1,26 @@
module SwaggerClient
module Swagger
class ApiError < StandardError
attr_reader :code, :response_headers, :response_body
# Usage examples:
# ApiError.new
# ApiError.new("message")
# ApiError.new(:code => 500, :response_headers => {}, :response_body => "")
# ApiError.new(:code => 404, :message => "Not Found")
def initialize(arg = nil)
if arg.is_a? Hash
arg.each do |k, v|
if k.to_s == 'message'
super v
else
instance_variable_set "@#{k}", v
end
end
else
super arg
end
end
end
end
end

View File

@@ -2,15 +2,18 @@ module SwaggerClient
module Swagger
class Response
require 'json'
require 'date'
attr_accessor :raw
def initialize(raw)
self.raw = raw
case self.code
when 500..510 then raise(ServerError, self.error_message)
when 299..426 then raise(ClientError, self.error_message)
unless raw.success?
fail ApiError.new(:code => code,
:response_headers => headers,
:response_body => body),
raw.status_message
end
end
@@ -18,19 +21,65 @@ module SwaggerClient
raw.code
end
# Account for error messages that take different forms...
def error_message
body['message']
rescue
body
def body
raw.body
end
# If body is JSON, parse it
# Otherwise return raw string
def body
JSON.parse(raw.body, :symbolize_names => true)
rescue
raw.body
# Deserialize the raw response body to the given return type.
#
# @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]"
def deserialize(return_type)
return nil if body.blank?
# ensuring a default content type
content_type = raw.headers_hash['Content-Type'] || 'application/json'
unless content_type.start_with?('application/json')
fail "Content-Type is not supported: #{content_type}"
end
begin
data = JSON.parse(body, :symbolize_names => true)
rescue JSON::ParserError => e
if return_type == 'String'
return body
else
raise e
end
end
build_models data, return_type
end
# Walk through the given data and, when necessary, build model(s) from
# Hash data for array/hash values of the response.
def build_models(data, return_type)
case return_type
when 'String', 'Integer', 'Float', 'BOOLEAN'
# primitives, return directly
data
when 'DateTime'
# parse date time (expecting ISO 8601 format)
DateTime.parse data
when 'Object'
# generic object, return directly
data
when /\AArray<(.+)>\z/
# e.g. Array<Pet>
sub_type = $1
data.map {|item| build_models(item, sub_type) }
when /\AHash\<String, (.+)\>\z/
# e.g. Hash<String, Integer>
sub_type = $1
{}.tap do |hash|
data.each {|k, v| hash[k] = build_models(v, sub_type) }
end
else
# models, e.g. Pet
SwaggerClient.const_get(return_type).new.tap do |model|
model.build_from_hash data
end
end
end
# `headers_hash` is a Typhoeus-specific extension of Hash,
@@ -58,7 +107,7 @@ module SwaggerClient
def pretty_body
return unless body.present?
case format
when 'json' then JSON.pretty_generate(body).gsub(/\n/, '<br/>')
when 'json' then JSON.pretty_generate(JSON.parse(body)).gsub(/\n/, '<br/>')
end
end

View File

@@ -13,9 +13,14 @@ describe "Pet" do
tag2 = SwaggerClient::Tag.new({'id' => 2, 'name'=> 'tag2'})
category1 = SwaggerClient::Category.new({:id => 1, :name => 'category unknown'})
# initalize using both string and symbol key
pet_hash = {:'id' => 10002, :'name' => "RUBY UNIT TESTING", :'status' => "pending",
:'photo_urls' => ["url1", "url2"], :'category' => category1,
:'tags' => [tag1, tag2]}
pet_hash = {
:id => 10002,
:name => "RUBY UNIT TESTING",
:status => "pending",
:photo_urls => ["url1", "url2"],
:category => category1,
:tags => [tag1, tag2]
}
pet = SwaggerClient::Pet.new(pet_hash)
# test new
pet.name.should == "RUBY UNIT TESTING"
@@ -45,9 +50,26 @@ describe "Pet" do
pet.category.name.should == "category test"
end
it "should not find a pet that does not exist" do
begin
SwaggerClient::PetApi.get_pet_by_id(-1)
fail 'it should raise error'
rescue SwaggerClient::Swagger::ApiError => e
e.code.should == 404
e.message.should == 'Not Found'
e.response_body.should == '{"code":1,"type":"error","message":"Pet not found"}'
e.response_headers.should be_a(Hash)
e.response_headers['Content-Type'].should == 'application/json'
end
end
it "should find pets by status" do
pets = SwaggerClient::PetApi.find_pets_by_status(:status => 'available')
pets.length.should >= 3
pets.each do |pet|
pet.should be_a(SwaggerClient::Pet)
pet.status.should == 'available'
end
end
it "should not find a pet with invalid status" do
@@ -57,11 +79,11 @@ describe "Pet" do
it "should find a pet by status" do
pets = SwaggerClient::PetApi.find_pets_by_status(:status => "available,sold")
pets.map {|pet|
if(pet.status != 'available' && pet.status != 'sold')
pets.each do |pet|
if pet.status != 'available' && pet.status != 'sold'
raise "pet status wasn't right"
end
}
end
end
it "should update a pet" do

View File

@@ -8,7 +8,6 @@ describe SwaggerClient::Swagger::Response do
end
before(:each) do
VCR.use_cassette('pet_resource', :record => :new_episodes) do
@raw = Typhoeus::Request.get("http://petstore.swagger.io/v2/pet/10002")
end
@@ -18,8 +17,10 @@ describe SwaggerClient::Swagger::Response do
describe "initialization" do
it "sets body" do
@response.body.class.should == Hash
@response.body.has_key?(:'name').should == true
@response.body.should be_a(String)
data = JSON.parse(@response.body)
data.should be_a(Hash)
data['id'].should == 10002
end
it "sets code" do
@@ -30,9 +31,8 @@ describe SwaggerClient::Swagger::Response do
@response.headers.class.should == Hash
end
end
describe "format" do
describe "format" do
it "recognizes json" do
@response.format.should == 'json'
@response.json?.should == true
@@ -47,19 +47,36 @@ describe SwaggerClient::Swagger::Response do
@response.format.should == 'xml'
@response.xml?.should == true
end
end
describe "prettiness" do
it "has a pretty json body" do
@response.pretty_body.should =~ /\{.*\}/
end
it "has pretty headers" do
@response.pretty_headers.should =~ /\{.*\}/
end
end
describe "deserialize" do
it "handles Hash<String, String>" do
@response.stub(:body) { '{"message": "Hello"}' }
data = @response.deserialize('Hash<String, String>')
data.should be_a(Hash)
data.should == {:message => 'Hello'}
end
it "handles Hash<String, Pet>" do
json = @response.body
@response.stub(:body) { "{\"pet\": #{json}}" }
data = @response.deserialize('Hash<String, Pet>')
data.should be_a(Hash)
data.keys.should == [:pet]
pet = data[:pet]
pet.should be_a(SwaggerClient::Pet)
pet.id.should == 10002
end
end
end

View File

@@ -10,4 +10,14 @@ describe "Store" do
item = SwaggerClient::StoreApi.get_order_by_id(10002)
item.id.should == 10002
end
it "should featch the inventory" do
result = SwaggerClient::StoreApi.get_inventory
result.should be_a(Hash)
result.should_not be_empty
result.each do |k, v|
k.should be_a(Symbol)
v.should be_a(Integer)
end
end
end