CocoaShare/Classes/Dropbox/DropboxSDK/MPOAuth/MPOAuthConnection.m

55 lines
2.1 KiB
Objective-C

//
// MPOAuthConnection.m
// MPOAuthConnection
//
// Created by Karl Adam on 08.12.05.
// Copyright 2008 matrixPointer. All rights reserved.
//
#import "MPOAuthConnection.h"
#import "MPOAuthURLRequest.h"
#import "MPOAuthURLResponse.h"
#import "MPOAuthParameterFactory.h"
#import "MPOAuthCredentialConcreteStore.h"
@implementation MPOAuthConnection
+ (MPOAuthConnection *)connectionWithRequest:(MPOAuthURLRequest *)inRequest delegate:(id)inDelegate credentials:(NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> *)inCredentials {
MPOAuthConnection *aConnection = [[MPOAuthConnection alloc] initWithRequest:inRequest delegate:inDelegate credentials:inCredentials];
return [aConnection autorelease];
}
+ (NSData *)sendSynchronousRequest:(MPOAuthURLRequest *)inRequest usingCredentials:(NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> *)inCredentials returningResponse:(MPOAuthURLResponse **)outResponse error:(NSError **)inError {
[inRequest addParameters:[inCredentials oauthParameters]];
NSURLRequest *urlRequest = [inRequest urlRequestSignedWithSecret:[inCredentials signingKey] usingMethod:[inCredentials signatureMethod]];
NSURLResponse *urlResponse = nil;
NSData *responseData = [self sendSynchronousRequest:urlRequest returningResponse:&urlResponse error:inError];
MPOAuthURLResponse *oauthResponse = [[[MPOAuthURLResponse alloc] init] autorelease];
[oauthResponse setResponse:urlResponse];
*outResponse = oauthResponse;
return responseData;
}
- (id)initWithRequest:(MPOAuthURLRequest *)inRequest delegate:(id)inDelegate credentials:(NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> *)inCredentials {
[inRequest addParameters:[inCredentials oauthParameters]];
NSURLRequest *urlRequest = [inRequest urlRequestSignedWithSecret:[inCredentials signingKey] usingMethod:[inCredentials signatureMethod]];
if ((self = [super initWithRequest:urlRequest delegate:inDelegate])) {
credentials = [inCredentials retain];
}
return self;
}
- (oneway void)dealloc {
[credentials release];
[super dealloc];
}
- (id<MPOAuthCredentialStore,MPOAuthParameterFactory>)credentials {
return credentials;
}
#pragma mark -
@end