/// <summary> /// Инициализирует новый экземпляр класса <see cref="MultipartContent"/>. /// </summary> /// <param name="boundary">Граница для отделения составных частей содержимого.</param> /// <exception cref="System.ArgumentNullException">Значение параметра <paramref name="boundary"/> равно <see langword="null"/>.</exception> /// <exception cref="System.ArgumentException">Значение параметра <paramref name="boundary"/> является пустой строкой.</exception> /// <exception cref="System.ArgumentOutOfRangeException">Значение параметра <paramref name="boundary"/> имеет длину более 70 символов.</exception> // ReSharper disable once MemberCanBePrivate.Global public MultipartContent(string boundary) { #region Проверка параметров if (boundary == null) { throw new ArgumentNullException(nameof(boundary)); } if (boundary.Length == 0) { throw ExceptionHelper.EmptyString(nameof(boundary)); } if (boundary.Length > 70) { throw ExceptionHelper.CanNotBeGreater(nameof(boundary), 70); } #endregion _boundary = boundary; MimeContentType = $"multipart/form-data; boundary={_boundary}"; }
/// <summary> /// Инициализирует новый экземпляр класса <see cref="BytesContent"/>. /// </summary> /// <param name="content">Содержимое тела запроса.</param> /// <param name="offset">Смещение в байтах для контента.</param> /// <param name="count">Число байтов отправляемых из контента.</param> /// <exception cref="System.ArgumentNullException">Значение параметра <paramref name="content"/> равно <see langword="null"/>.</exception> /// <exception cref="System.ArgumentOutOfRangeException"> /// Значение параметра <paramref name="offset"/> меньше 0. /// -или- /// Значение параметра <paramref name="offset"/> больше длины содержимого. /// -или- /// Значение параметра <paramref name="count"/> меньше 0. /// -или- /// Значение параметра <paramref name="count"/> больше (длина содержимого - смещение).</exception> /// <remarks>По умолчанию используется тип контента - 'application/octet-stream'.</remarks> // ReSharper disable once MemberCanBePrivate.Global public BytesContent(byte[] content, int offset, int count) { #region Проверка параметров if (content == null) { throw new ArgumentNullException(nameof(content)); } if (offset < 0) { throw ExceptionHelper.CanNotBeLess(nameof(offset), 0); } if (offset > content.Length) { throw ExceptionHelper.CanNotBeGreater(nameof(offset), content.Length); } if (count < 0) { throw ExceptionHelper.CanNotBeLess(nameof(count), 0); } if (count > content.Length - offset) { throw ExceptionHelper.CanNotBeGreater(nameof(count), content.Length - offset); } #endregion Content = content; Offset = offset; Count = count; MimeContentType = "application/octet-stream"; }