/// <summary> /// Generates the resource. /// </summary> /// <param name="connectionString">Optional connection string for the resource.</param> /// <param name="parameters">The resource parameters.</param> /// <returns>Returns the resource.</returns> public override ResourceToken CreateResourceToken(string connectionString, ResourceParameters parameters) { if (string.IsNullOrWhiteSpace(connectionString)) { throw new ArgumentException("connectionString is invalid"); } if (parameters == null) { throw new ArgumentNullException("parameters"); } BlobParameters blobParameters = parameters as BlobParameters; if (blobParameters == null) { throw new ArgumentException("Expected a BlobParameters collection", "parameters"); } if (string.IsNullOrWhiteSpace(blobParameters.Container)) { throw new ArgumentException("The container name must not be null or empty", "parameters.Container"); } if (string.IsNullOrWhiteSpace(blobParameters.Name)) { throw new ArgumentException("The blob name must not be null or empty", "parameters.Name"); } StorageProvider storageProvider = new StorageProvider(connectionString); return storageProvider.CreateBlobAccessToken(blobParameters.Container, blobParameters.Name, blobParameters.Permissions, blobParameters.Expiration); }
/// <summary> /// Extracts the parameters for a request. /// </summary> /// <param name="parameters">The parameters to extract.</param> /// <param name="defaultParameters">Optional parameters instance to use.</param> /// <returns>Returns the extracted parameters.</returns> public virtual ResourceParameters ExtractParameters(JToken parameters, ResourceParameters defaultParameters = null) { if (parameters == null) { throw new ArgumentNullException("parameters"); } if (defaultParameters == null) { defaultParameters = new ResourceParameters(); } try { // Raw parameters. defaultParameters.Parameters = parameters; // Name. defaultParameters.Name = parameters.Value<string>("name"); if (string.IsNullOrWhiteSpace(defaultParameters.Name)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } // Permissions. string permissions = parameters.Value<string>("permissions"); defaultParameters.Permissions = this.ExtractPermissions(permissions); // Expiration. defaultParameters.Expiration = (DateTime)parameters["expiry"]; } catch (Exception) { throw new HttpResponseException(HttpStatusCode.BadRequest); } return defaultParameters; }
/// <summary> /// Generates the resource. /// </summary> /// <param name="connectionString">Optional connection string for the resource.</param> /// <param name="parameters">The resource parameters.</param> /// <returns>Returns the resource.</returns> public override ResourceToken CreateResourceToken(string connectionString, ResourceParameters parameters) { if (string.IsNullOrWhiteSpace(connectionString)) { throw new ArgumentException("connectionString is invalid"); } if (parameters == null) { throw new ArgumentNullException("parameters"); } ResourceParameters queueParameters = parameters; if (string.IsNullOrWhiteSpace(queueParameters.Name)) { throw new ArgumentException("The queue name must not be null or empty", "parameters.Name"); } StorageProvider storageProvider = new StorageProvider(connectionString); return storageProvider.CreateQueueAccessToken(queueParameters.Name, queueParameters.Permissions, queueParameters.Expiration); }
public override ResourceToken CreateResourceToken(string connectionString, ResourceParameters parameters) { throw new NotImplementedException(); }
public override ResourceToken CreateResourceToken(string connectionString, Microsoft.WindowsAzure.Mobile.Service.ResourceBroker.Models.ResourceParameters parameters) { throw new NotImplementedException(); }
/// <summary> /// Generates the resource token. /// </summary> /// <param name="connectionString">Optional connection string for the resource.</param> /// <param name="parameters">The resource parameters.</param> /// <returns>Returns the resource or null.</returns> public abstract ResourceToken CreateResourceToken(string connectionString, ResourceParameters parameters);
/// <summary> /// Extracts the parameters for a request. /// </summary> /// <param name="parameters">The parameters to extract.</param> /// <param name="defaultParameters">Optional parameters instance to use.</param> /// <returns>Returns the extracted parameters.</returns> public override ResourceParameters ExtractParameters(JToken parameters, ResourceParameters defaultParameters = null) { BlobParameters blobParameters = null; if (defaultParameters == null) { blobParameters = new BlobParameters(); } else { blobParameters = defaultParameters as BlobParameters; if (blobParameters == null) { throw new ArgumentException("Must be a BlobParameters instance", "defaultParameters"); } } base.ExtractParameters(parameters, blobParameters); try { // Container. blobParameters.Container = parameters.Value<string>("container"); if (string.IsNullOrWhiteSpace(blobParameters.Container)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } } catch (Exception) { throw new HttpResponseException(HttpStatusCode.BadRequest); } return blobParameters; }