// <auto-generated>
/*
 * API ebike_v1 1.0.0
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.0
 * Generated by: https://github.com/openapitools/openapi-generator.git
 */

#nullable enable

namespace Org.OpenAPITools.Client
{
    /// <summary>
    /// Represents a file to be uploaded as part of a multipart/form-data request.
    /// </summary>
    public sealed class FileParameter
    {
        /// <summary>
        /// The file content stream.
        /// </summary>
        public global::System.IO.Stream Content { get; }

        /// <summary>
        /// The filename sent in the Content-Disposition header.
        /// When null the parameter name from the spec is used as a fallback.
        /// </summary>
        public string? FileName { get; }

        /// <summary>
        /// The MIME type sent in the Content-Type header of the part.
        /// Defaults to <c>application/octet-stream</c>.
        /// </summary>
        public string ContentType { get; }

        /// <summary>
        /// Creates a new <see cref="FileParameter"/>.
        /// </summary>
        /// <param name="content">The file content stream.</param>
        /// <param name="fileName">Optional filename for the Content-Disposition header.</param>
        /// <param name="contentType">Optional MIME type for the Content-Type header of the part. Defaults to <c>application/octet-stream</c>.</param>
        public FileParameter(global::System.IO.Stream content, string? fileName = null, string contentType = "application/octet-stream")
        {
            Content = content;
            FileName = fileName;
            ContentType = contentType;
        }
    }
}
