private string DetectContentType(UploadParameter uploadParam,
                                  IByteStreamParameterData byteStreamParamData)
 {
     return(uploadParam.DetectContentType && byteStreamParamData.ContentType == null
         ? byteStreamParamData.GetByteStream().DetectContentType()
         : byteStreamParamData.ContentType);
 }
        private IObservable <ProximaxDataModel> UploadByteStream(UploadParameter uploadParam,
                                                                 IByteStreamParameterData byteStreamParamData)
        {
            var detectedContentType  = DetectContentType(uploadParam, byteStreamParamData);
            var fileUploadResponseOb = FileUploadService.UploadByteStream(byteStreamParamData.GetByteStream,
                                                                          uploadParam.PrivacyStrategy, uploadParam.ComputeDigest);

            return(fileUploadResponseOb.Select(fileUploadResponse =>
                                               ProximaxDataModel.Create(byteStreamParamData, fileUploadResponse.DataHash,
                                                                        fileUploadResponse.Digest, detectedContentType, fileUploadResponse.Timestamp)));
        }
 private Stream EncryptByteStream(UploadParameter uploadParam, IByteStreamParameterData byteStreamParamData)
 {
     return(uploadParam.PrivacyStrategy.EncryptStream(byteStreamParamData.GetByteStream()));
 }