public static CreateSymlinkCommand Create(IServiceClient client, Uri endpoint, ExecutionContext context, CreateSymlinkRequest request) { return(new CreateSymlinkCommand(client, endpoint, context, DeserializerFactory.GetFactory().CreateCreateSymlinkResultDeserializer(), request, request.ObjectMetadata)); }
private CreateSymlinkCommand(IServiceClient client, Uri endpoint, ExecutionContext context, IDeserializer <ServiceResponse, CreateSymlinkResult> deserializer, CreateSymlinkRequest request, ObjectMetadata metadata) : this(client, endpoint, context, deserializer, request) { _objectMetadata = metadata; }
private CreateSymlinkCommand(IServiceClient client, Uri endpoint, ExecutionContext context, IDeserializer <ServiceResponse, CreateSymlinkResult> deserializer, CreateSymlinkRequest request) : base(client, endpoint, context, deserializer) { OssUtils.CheckBucketName(request.BucketName); OssUtils.CheckObjectKey(request.Symlink); OssUtils.CheckObjectKey(request.Target); if (request.Symlink == request.Target) { throw new ArgumentException("Symlink file name must be different with its target."); } _request = request; }
public void SymlinkObjectTest() { var key = OssTestUtils.GetObjectKey(_className); string symlink = key + "_link"; OssTestUtils.UploadObject(_ossClient, _bucketName, key, Config.UploadTestFile); var request = new CreateSymlinkRequest(_bucketName, symlink, key); Assert.AreEqual(request.RequestPayer, RequestPayer.BucketOwner); try { _ossPayerClient.CreateSymlink(request); Assert.Fail("should not here."); } catch (OssException e) { Assert.AreEqual(e.ErrorCode, "AccessDenied"); } request.RequestPayer = RequestPayer.Requester; _ossPayerClient.CreateSymlink(request); Assert.IsTrue(_ossClient.DoesObjectExist(_bucketName, symlink)); // var gRequest = new GetSymlinkRequest(_bucketName, symlink); Assert.AreEqual(gRequest.RequestPayer, RequestPayer.BucketOwner); try { _ossPayerClient.GetSymlink(gRequest); Assert.Fail("should not here."); } catch (OssException e) { Assert.AreEqual(e.ErrorCode, "AccessDenied"); } gRequest.RequestPayer = RequestPayer.Requester; OssSymlink ossSymlink = _ossPayerClient.GetSymlink(gRequest); Assert.AreEqual(ossSymlink.Target, key); }
public static CreateSymlinkCommand Create(IServiceClient client, Uri endpoint, ExecutionContext context, CreateSymlinkRequest request) { return(new CreateSymlinkCommand(client, endpoint, context, request.BucketName, request.Symlink, request.Target, request.ObjectMetadata)); }