Revision 9d03a93c asi-http-request-with-pithos/Classes/Pithos/ASIPithosObjectRequest.m

b/asi-http-request-with-pithos/Classes/Pithos/ASIPithosObjectRequest.m
802 802
                                    metadata:(NSDictionary *)metadata 
803 803
                         sourceContainerName:(NSString *)sourceContainerName 
804 804
                            sourceObjectName:(NSString *)sourceObjectName
805
                               sourceAccount:(NSString *)sourceAccount
805 806
                               sourceVersion:(NSString *)sourceVersion {
806 807
	ASIPithosObjectRequest *request = [self storageRequestWithMethod:@"PUT" containerName:containerName objectName:objectName];
807 808
    [request prepareObjectRequestWithETag:nil 
......
814 815
                                 metadata:metadata];
815 816
    [request addRequestHeader:@"Content-Length" value:@"0"];
816 817
    [request addRequestHeader:@"X-Copy-From" value:[NSString stringWithFormat:@"/%@/%@", sourceContainerName, sourceObjectName]];
818
    if (sourceAccount)
819
        [request addRequestHeader:@"X-Source-Account" value:sourceAccount];
817 820
    if (sourceVersion)
818 821
        [request addRequestHeader:@"X-Source-Version" value:sourceVersion];
819 822
    return request;
......
831 834
                                    metadata:(NSDictionary *)metadata 
832 835
                         sourceContainerName:(NSString *)sourceContainerName 
833 836
                            sourceObjectName:(NSString *)sourceObjectName
837
                               sourceAccount:(NSString *)sourceAccount
834 838
                               sourceVersion:(NSString *)sourceVersion 
835 839
                                     ifMatch:(NSString *)matchETag {
836 840
    ASIPithosObjectRequest *request = [self copyObjectDataRequestWithContainerName:containerName objectName:objectName 
......
843 847
                                                                          metadata:metadata 
844 848
                                                               sourceContainerName:sourceContainerName 
845 849
                                                                  sourceObjectName:sourceObjectName 
850
                                                                     sourceAccount:sourceAccount
846 851
                                                                     sourceVersion:sourceVersion];
847 852
    [request addRequestIfMatchHeader:matchETag];
848 853
    return request;                                                                          
......
860 865
                                    metadata:(NSDictionary *)metadata 
861 866
                         sourceContainerName:(NSString *)sourceContainerName 
862 867
                            sourceObjectName:(NSString *)sourceObjectName
868
                               sourceAccount:(NSString *)sourceAccount
863 869
                               sourceVersion:(NSString *)sourceVersion 
864 870
                                 ifNoneMatch:(NSString *)matchETag {
865 871
    ASIPithosObjectRequest *request = [self copyObjectDataRequestWithContainerName:containerName objectName:objectName 
......
872 878
                                                                          metadata:metadata 
873 879
                                                               sourceContainerName:sourceContainerName 
874 880
                                                                  sourceObjectName:sourceObjectName 
881
                                                                     sourceAccount:sourceAccount
875 882
                                                                     sourceVersion:sourceVersion];
876 883
    [request addRequestIfNoneMatchHeader:matchETag];
877 884
    return request;                                                                          
......
889 896
                                    metadata:(NSDictionary *)metadata 
890 897
                    destinationContainerName:(NSString *)destinationContainerName 
891 898
                       destinationObjectName:(NSString *)destinationObjectName
899
                          destinationAccount:(NSString *)destinationAccount
892 900
                               sourceVersion:(NSString *)sourceVersion {
893 901
	ASIPithosObjectRequest *request = [self storageRequestWithMethod:@"COPY" containerName:containerName objectName:objectName];
894 902
    [request prepareObjectRequestWithETag:nil 
......
900 908
                                 isPublic:isPublic 
901 909
                                 metadata:metadata];
902 910
    [request addRequestHeader:@"Destination" value:[NSString stringWithFormat:@"/%@/%@", destinationContainerName, destinationObjectName]];
911
    if (destinationAccount)
912
        [request addRequestHeader:@"Destination-Account" value:destinationAccount];
903 913
    if (sourceVersion)
904 914
        [request addRequestHeader:@"X-Source-Version" value:sourceVersion];
905 915
    return request;
......
917 927
                                    metadata:(NSDictionary *)metadata 
918 928
                    destinationContainerName:(NSString *)destinationContainerName 
919 929
                       destinationObjectName:(NSString *)destinationObjectName
930
                          destinationAccount:(NSString *)destinationAccount
920 931
                               sourceVersion:(NSString *)sourceVersion 
921 932
                                     ifMatch:(NSString *)matchETag {
922 933
    ASIPithosObjectRequest *request = [self copyObjectDataRequestWithContainerName:containerName objectName:objectName 
......
929 940
                                                                          metadata:metadata 
930 941
                                                          destinationContainerName:destinationContainerName 
931 942
                                                             destinationObjectName:destinationObjectName 
943
                                                                destinationAccount:destinationAccount
932 944
                                                                     sourceVersion:sourceVersion];
933 945
    [request addRequestIfMatchHeader:matchETag];
934 946
    return request;                                                                          
......
946 958
                                    metadata:(NSDictionary *)metadata 
947 959
                    destinationContainerName:(NSString *)destinationContainerName 
948 960
                       destinationObjectName:(NSString *)destinationObjectName
961
                          destinationAccount:(NSString *)destinationAccount
949 962
                               sourceVersion:(NSString *)sourceVersion 
950 963
                                 ifNoneMatch:(NSString *)matchETag {
951 964
    ASIPithosObjectRequest *request = [self copyObjectDataRequestWithContainerName:containerName objectName:objectName 
......
958 971
                                                                          metadata:metadata 
959 972
                                                          destinationContainerName:destinationContainerName 
960 973
                                                             destinationObjectName:destinationObjectName 
974
                                                                destinationAccount:destinationAccount
961 975
                                                                     sourceVersion:sourceVersion];
962 976
    [request addRequestIfNoneMatchHeader:matchETag];
963 977
    return request;                                                                          
......
974 988
                                    isPublic:(NSUInteger)isPublic 
975 989
                                    metadata:(NSDictionary *)metadata 
976 990
                         sourceContainerName:(NSString *)sourceContainerName 
977
                            sourceObjectName:(NSString *)sourceObjectName { 
991
                            sourceObjectName:(NSString *)sourceObjectName 
992
                               sourceAccount:(NSString *)sourceAccount { 
978 993
	ASIPithosObjectRequest *request = [self storageRequestWithMethod:@"PUT" containerName:containerName objectName:objectName];
979 994
    [request prepareObjectRequestWithETag:nil 
980 995
                              contentType:contentType 
......
986 1001
                                 metadata:metadata];
987 1002
    [request addRequestHeader:@"Content-Length" value:@"0"];
988 1003
    [request addRequestHeader:@"X-Move-From" value:[NSString stringWithFormat:@"/%@/%@", sourceContainerName, sourceObjectName]];
1004
    if (sourceAccount)
1005
        [request addRequestHeader:@"X-Source-Account" value:sourceAccount];
989 1006
    return request;
990 1007
}
991 1008

  
......
1001 1018
                                    metadata:(NSDictionary *)metadata 
1002 1019
                         sourceContainerName:(NSString *)sourceContainerName 
1003 1020
                            sourceObjectName:(NSString *)sourceObjectName
1021
                               sourceAccount:(NSString *)sourceAccount
1004 1022
                                     ifMatch:(NSString *)matchETag {
1005 1023
    ASIPithosObjectRequest *request = [self moveObjectDataRequestWithContainerName:containerName objectName:objectName 
1006 1024
                                                                       contentType:contentType 
......
1011 1029
                                                                          isPublic:isPublic 
1012 1030
                                                                          metadata:metadata 
1013 1031
                                                               sourceContainerName:sourceContainerName 
1014
                                                                  sourceObjectName:sourceObjectName];
1032
                                                                  sourceObjectName:sourceObjectName 
1033
                                                                     sourceAccount:sourceAccount];
1015 1034
    [request addRequestIfMatchHeader:matchETag];
1016 1035
    return request;                                               
1017 1036
}
......
1028 1047
                                    metadata:(NSDictionary *)metadata 
1029 1048
                         sourceContainerName:(NSString *)sourceContainerName 
1030 1049
                            sourceObjectName:(NSString *)sourceObjectName
1050
                               sourceAccount:(NSString *)sourceAccount
1031 1051
                                 ifNoneMatch:(NSString *)matchETag {
1032 1052
    ASIPithosObjectRequest *request = [self moveObjectDataRequestWithContainerName:containerName objectName:objectName 
1033 1053
                                                                       contentType:contentType 
......
1038 1058
                                                                          isPublic:isPublic 
1039 1059
                                                                          metadata:metadata 
1040 1060
                                                               sourceContainerName:sourceContainerName 
1041
                                                                  sourceObjectName:sourceObjectName];
1061
                                                                  sourceObjectName:sourceObjectName 
1062
                                                                     sourceAccount:sourceAccount];
1042 1063
    [request addRequestIfNoneMatchHeader:matchETag];
1043 1064
    return request;                                               
1044 1065
}
......
1054 1075
                                    isPublic:(NSUInteger)isPublic 
1055 1076
                                    metadata:(NSDictionary *)metadata 
1056 1077
                    destinationContainerName:(NSString *)destinationContainerName 
1057
                       destinationObjectName:(NSString *)destinationObjectName {
1078
                       destinationObjectName:(NSString *)destinationObjectName 
1079
                          destinationAccount:(NSString *)destinationAccount {
1058 1080
	ASIPithosObjectRequest *request = [self storageRequestWithMethod:@"MOVE" containerName:containerName objectName:objectName];
1059 1081
    [request prepareObjectRequestWithETag:nil 
1060 1082
                              contentType:contentType 
......
1065 1087
                                 isPublic:isPublic 
1066 1088
                                 metadata:metadata];
1067 1089
    [request addRequestHeader:@"Destination" value:[NSString stringWithFormat:@"/%@/%@", destinationContainerName, destinationObjectName]];
1090
    if (destinationAccount)
1091
        [request addRequestHeader:@"Destination-Account" value:destinationAccount];
1068 1092
    return request;
1069 1093
}
1070 1094

  
......
1080 1104
                                    metadata:(NSDictionary *)metadata 
1081 1105
                    destinationContainerName:(NSString *)destinationContainerName 
1082 1106
                       destinationObjectName:(NSString *)destinationObjectName
1107
                          destinationAccount:(NSString *)destinationAccount
1083 1108
                                     ifMatch:(NSString *)matchETag {
1084 1109
    ASIPithosObjectRequest *request = [self moveObjectDataRequestWithContainerName:containerName objectName:objectName 
1085 1110
                                                                       contentType:contentType 
......
1090 1115
                                                                          isPublic:isPublic 
1091 1116
                                                                          metadata:metadata 
1092 1117
                                                          destinationContainerName:destinationContainerName 
1093
                                                             destinationObjectName:destinationObjectName];
1118
                                                             destinationObjectName:destinationObjectName 
1119
                                                                destinationAccount:destinationAccount];
1094 1120
    [request addRequestIfMatchHeader:matchETag];
1095 1121
    return request;                                                                          
1096 1122
}
......
1107 1133
                                    metadata:(NSDictionary *)metadata 
1108 1134
                    destinationContainerName:(NSString *)destinationContainerName 
1109 1135
                       destinationObjectName:(NSString *)destinationObjectName
1136
                          destinationAccount:(NSString *)destinationAccount
1110 1137
                                 ifNoneMatch:(NSString *)matchETag {
1111 1138
    ASIPithosObjectRequest *request = [self moveObjectDataRequestWithContainerName:containerName objectName:objectName 
1112 1139
                                                                       contentType:contentType 
......
1117 1144
                                                                          isPublic:isPublic 
1118 1145
                                                                          metadata:metadata 
1119 1146
                                                          destinationContainerName:destinationContainerName 
1120
                                                             destinationObjectName:destinationObjectName];
1147
                                                             destinationObjectName:destinationObjectName 
1148
                                                                destinationAccount:destinationAccount];
1121 1149
    [request addRequestIfNoneMatchHeader:matchETag];
1122 1150
    return request;                                                                          
1123 1151
}

Also available in: Unified diff