httpgenerator 1.1.0

Generate .http files from OpenAPI specifications
Documentation
use std::path::PathBuf;

use httpgenerator_core::openapi::OpenApiInspection;

pub trait ExecutionObserver {
    fn validation_started(&mut self) {}

    fn validation_succeeded(&mut self, _inspection: &OpenApiInspection) {}

    fn azure_auth_started(&mut self) {}

    fn azure_auth_finished(&mut self, _status: &AzureAuthStatus) {}

    fn file_writing_started(&mut self, _file_count: usize) {}

    fn files_written(&mut self, _paths: &[PathBuf]) {}
}

#[derive(Default)]
pub(crate) struct NoopExecutionObserver;

impl ExecutionObserver for NoopExecutionObserver {}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ExecutionSummary {
    pub output_folder: PathBuf,
    pub files: Vec<PathBuf>,
    pub validation: Option<OpenApiInspection>,
    pub azure_auth: AzureAuthStatus,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub enum AzureAuthStatus {
    NotRequested,
    Acquired,
    Failed { reason: String },
}