Revision 6b3a5e6a asi-http-request-with-pithos/Classes/Pithos/ASIPithosObjectRequest.m

b/asi-http-request-with-pithos/Classes/Pithos/ASIPithosObjectRequest.m
125 125
    if (contentDisposition)
126 126
        [self addRequestHeader:@"Content-Disposition" value:contentDisposition];
127 127
    if (manifest)
128
        [self addRequestHeader:@"X-Object-Manifest" value:manifest];
128
        [self addRequestHeader:@"X-Object-Manifest" 
129
                         value:[manifest stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
129 130
    if (sharing)
130
        [self addRequestHeader:@"X-Object-Sharing" value:sharing];
131
        [self addRequestHeader:@"X-Object-Sharing" 
132
                         value:[sharing stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
131 133
    if (isPublic == ASIPithosObjectRequestPublicTrue) {
132 134
        [self addRequestHeader:@"X-Object-Public" value:@"true"];
133 135
    } else if (isPublic == ASIPithosObjectRequestPublicFalse) {
......
136 138
    
137 139
    if (newMetadata) {
138 140
        for (NSString *key in [newMetadata keyEnumerator]) {
139
            [self addRequestHeader:[NSString stringWithFormat:@"X-Object-Meta-%@", key] value:[newMetadata objectForKey:key]];
141
            [self addRequestHeader:[[NSString stringWithFormat:@"X-Object-Meta-%@", key] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 
142
                             value:[[newMetadata objectForKey:key] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
140 143
        }
141 144
    }
142 145
}
......
241 244
}
242 245

  
243 246
- (NSString *)manifest {
244
	return [[self responseHeaders] objectForKey:@"X-Object-Manifest"];
247
	return [[[self responseHeaders] objectForKey:@"X-Object-Manifest"] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
245 248
}
246 249

  
247 250
- (NSString *)sharing {
248
	return [[self responseHeaders] objectForKey:@"X-Object-Sharing"];
251
	return [[[self responseHeaders] objectForKey:@"X-Object-Sharing"] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
249 252
}
250 253

  
251 254
- (NSString *)sharedBy {
252
	return [[self responseHeaders] objectForKey:@"X-Object-Shared-By"];
255
	return [[[self responseHeaders] objectForKey:@"X-Object-Shared-By"] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
253 256
}
254 257

  
255 258
- (NSString *)publicURI {
......
840 843
                                 isPublic:isPublic 
841 844
                                 metadata:metadata];
842 845
    [request addRequestHeader:@"Content-Length" value:@"0"];
843
    [request addRequestHeader:@"X-Copy-From" value:[NSString stringWithFormat:@"/%@/%@", sourceContainerName, sourceObjectName]];
846
    [request addRequestHeader:@"X-Copy-From" 
847
                        value:[[NSString stringWithFormat:@"/%@/%@", sourceContainerName, sourceObjectName] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
844 848
    if (sourceAccount)
845
        [request addRequestHeader:@"X-Source-Account" value:sourceAccount];
849
        [request addRequestHeader:@"X-Source-Account" 
850
                            value:[sourceAccount stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
846 851
    if (sourceVersion)
847 852
        [request addRequestHeader:@"X-Source-Version" value:sourceVersion];
848 853
    return request;
......
933 938
                                  sharing:sharing 
934 939
                                 isPublic:isPublic 
935 940
                                 metadata:metadata];
936
    [request addRequestHeader:@"Destination" value:[NSString stringWithFormat:@"/%@/%@", destinationContainerName, destinationObjectName]];
941
    [request addRequestHeader:@"Destination" 
942
                        value:[[NSString stringWithFormat:@"/%@/%@", destinationContainerName, destinationObjectName] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
937 943
    if (destinationAccount)
938
        [request addRequestHeader:@"Destination-Account" value:destinationAccount];
944
        [request addRequestHeader:@"Destination-Account" 
945
                            value:[destinationAccount stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
939 946
    if (sourceVersion)
940 947
        [request addRequestHeader:@"X-Source-Version" value:sourceVersion];
941 948
    return request;
......
1026 1033
                                 isPublic:isPublic 
1027 1034
                                 metadata:metadata];
1028 1035
    [request addRequestHeader:@"Content-Length" value:@"0"];
1029
    [request addRequestHeader:@"X-Move-From" value:[NSString stringWithFormat:@"/%@/%@", sourceContainerName, sourceObjectName]];
1036
    [request addRequestHeader:@"X-Move-From" 
1037
                        value:[[NSString stringWithFormat:@"/%@/%@", sourceContainerName, sourceObjectName] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
1030 1038
    if (sourceAccount)
1031
        [request addRequestHeader:@"X-Source-Account" value:sourceAccount];
1039
        [request addRequestHeader:@"X-Source-Account" 
1040
                            value:[sourceAccount stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
1032 1041
    return request;
1033 1042
}
1034 1043

  
......
1112 1121
                                  sharing:sharing 
1113 1122
                                 isPublic:isPublic 
1114 1123
                                 metadata:metadata];
1115
    [request addRequestHeader:@"Destination" value:[NSString stringWithFormat:@"/%@/%@", destinationContainerName, destinationObjectName]];
1124
    [request addRequestHeader:@"Destination" 
1125
                        value:[[NSString stringWithFormat:@"/%@/%@", destinationContainerName, destinationObjectName] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
1116 1126
    if (destinationAccount)
1117
        [request addRequestHeader:@"Destination-Account" value:destinationAccount];
1127
        [request addRequestHeader:@"Destination-Account" 
1128
                            value:[destinationAccount stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
1118 1129
    return request;
1119 1130
}
1120 1131

  
......
1528 1539
        [request addRequestHeader:@"Content-Range" value:contentRange];
1529 1540
    if (bytes)
1530 1541
        [request addRequestHeader:@"X-Object-Bytes" value:[NSString stringWithFormat:@"%lu", [bytes unsignedLongValue]]];
1531
    [request addRequestHeader:@"X-Source-Object" value:[NSString stringWithFormat:@"/%@/%@", sourceContainerName, sourceObjectName]];
1542
    [request addRequestHeader:@"X-Source-Object" 
1543
                        value:[[NSString stringWithFormat:@"/%@/%@", sourceContainerName, sourceObjectName] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
1532 1544
    if (sourceAccount)
1533
        [request addRequestHeader:@"X-Source-Account" value:sourceAccount];
1545
        [request addRequestHeader:@"X-Source-Account" 
1546
                            value:[sourceAccount stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
1534 1547
    if (sourceVersion)
1535 1548
        [request addRequestHeader:@"X-Source-Version" value:sourceVersion];
1536 1549
	return request;

Also available in: Unified diff