ObjFW  Diff

Differences From Artifact [89529e8143]:

To Artifact [df49588af1]:


17
18
19
20
21
22
23

24
25
26
27
28
29
30
31

32
33
34
35

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

52
53
54
55
56

57
58
59
60
61
62
63
64

65
66
67
68
69
70
71
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

32
33
34
35

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

52
53
54
55
56

57
58
59
60
61
62
63
64

65
66
67
68
69
70
71
72







+







-
+



-
+















-
+




-
+







-
+







#include "config.h"

#include <stdlib.h>

#import "OFHTTPRequestFailedException.h"
#import "OFString.h"
#import "OFHTTPRequest.h"
#import "OFHTTPRequestReply.h"

#import "autorelease.h"
#import "common.h"

@implementation OFHTTPRequestFailedException
+ (instancetype)exceptionWithClass: (Class)class_
			   request: (OFHTTPRequest*)request
			    result: (OFHTTPRequestResult*)result
			     reply: (OFHTTPRequestReply*)reply
{
	return [[[self alloc] initWithClass: class_
				    request: request
				     result: result] autorelease];
				      reply: reply] autorelease];
}

- initWithClass: (Class)class_
{
	@try {
		[self doesNotRecognizeSelector: _cmd];
		abort();
	} @catch (id e) {
		[self release];
		@throw e;
	}
}

- initWithClass: (Class)class_
	request: (OFHTTPRequest*)request_
	 result: (OFHTTPRequestResult*)result_
	  reply: (OFHTTPRequestReply*)reply_
{
	self = [super initWithClass: class_];

	request = [request_ retain];
	result = [result_ retain];
	reply = [reply_ retain];

	return self;
}

- (void)dealloc
{
	[request release];
	[result release];
	[reply release];

	[super dealloc];
}

- (OFString*)description
{
	void *pool;
86
87
88
89
90
91
92
93

94
95
96
97
98
99
100
101
102
103
104
105

106
107

108
109
87
88
89
90
91
92
93

94
95
96
97
98
99
100
101
102
103
104
105

106
107

108
109
110







-
+











-
+

-
+


		break;
	}

	pool = objc_autoreleasePoolPush();

	description = [[OFString alloc] initWithFormat:
	    @"A HTTP %s request in class %@ with URL %@ failed with code %d",
	    type, inClass, [request URL], [result statusCode]];
	    type, inClass, [request URL], [reply statusCode]];

	objc_autoreleasePoolPop(pool);

	return description;
}

- (OFHTTPRequest*)request
{
	OF_GETTER(request, NO)
}

- (OFHTTPRequestResult*)result
- (OFHTTPRequestReply*)reply
{
	OF_GETTER(result, NO)
	OF_GETTER(reply, NO)
}
@end