httpgenerator 1.1.0

Generate .http files from OpenAPI specifications
Documentation
use httpgenerator_core::openapi::{
    OpenApiInspection, OpenApiSpecificationVersion, inspect_document,
};

use crate::CliError;

pub(super) fn validate_openapi_document(
    open_api_path: &str,
    skip_validation: bool,
) -> Result<Option<OpenApiInspection>, CliError> {
    if skip_validation {
        return Ok(None);
    }

    let inspection = inspect_document(open_api_path)
        .map_err(|error| CliError::InspectOpenApi(error.to_string()))?;

    if inspection.specification_version == OpenApiSpecificationVersion::OpenApi31 {
        return Err(CliError::UnsupportedValidationVersion {
            version: inspection.specification_version,
        });
    }

    Ok(Some(inspection))
}