Skip to content

Latest commit

 

History

History
69 lines (40 loc) · 5.3 KB

File metadata and controls

69 lines (40 loc) · 5.3 KB
graph LR
    Requestium_Session_Orchestrator["Requestium Session Orchestrator"]
    HTTP_Request_Handler["HTTP Request Handler"]
    Selenium_WebDriver_Manager["Selenium WebDriver Manager"]
    Session_State_Synchronizer["Session State Synchronizer"]
    Content_Parsing_Module["Content Parsing Module"]
    Requestium_Session_Orchestrator -- "orchestrates" --> HTTP_Request_Handler
    Requestium_Session_Orchestrator -- "manages" --> Selenium_WebDriver_Manager
    Session_State_Synchronizer -- "synchronizes state between" --> HTTP_Request_Handler
    Session_State_Synchronizer -- "synchronizes state between" --> Selenium_WebDriver_Manager
    HTTP_Request_Handler -- "provides response to" --> Content_Parsing_Module
    Selenium_WebDriver_Manager -- "provides page source to" --> Content_Parsing_Module
    Content_Parsing_Module -- "returns parsed data to" --> Requestium_Session_Orchestrator
    click Requestium_Session_Orchestrator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/requestium/Requestium_Session_Orchestrator.md" "Details"
    click HTTP_Request_Handler href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/requestium/HTTP_Request_Handler.md" "Details"
Loading

CodeBoardingDemoContact

Details

The requestium library's architecture is centered around the Requestium Session Orchestrator, which acts as the primary facade, unifying and coordinating both direct HTTP requests and browser automation. This orchestrator leverages an HTTP Request Handler for efficient, standard HTTP interactions and integrates a Selenium WebDriver Manager for dynamic content loading and complex browser-based operations. A critical Session State Synchronizer ensures seamless state consistency (e.g., cookies, user agent) between the HTTP and WebDriver components, enabling smooth transitions between interaction modes. Finally, a Content Parsing Module provides robust data extraction capabilities from both raw HTTP responses and live browser page sources, delivering parsed data back to the orchestrator for further processing. This design promotes a clear separation of concerns while maintaining a unified, high-level API for users.

Requestium Session Orchestrator [Expand]

The central facade and control hub of the requestium library, embodied by requestium.requestium_session.RequestiumSession. It unifies and orchestrates interactions between HTTP requests and browser automation, managing the overall session state and providing a high-level API for users. It directly manages the Selenium WebDriver instance and integrates the HTTP request capabilities.

Related Classes/Methods:

HTTP Request Handler [Expand]

Responsible for executing direct, efficient HTTP requests using the underlying requests library. It handles standard HTTP methods and manages session-level HTTP configurations, often integrated or utilized by the Requestium Session Orchestrator.

Related Classes/Methods:

Selenium WebDriver Manager

Manages the interaction with the web browser via Selenium WebDriver. This component handles dynamic content loading, JavaScript execution, and complex user interactions requiring a full browser environment. Its functionality is directly controlled and exposed through the Requestium Session Orchestrator.

Related Classes/Methods: None

Session State Synchronizer

A crucial utility component, represented by requestium.requestium_mixin.RequestiumMixin, that ensures consistent session state, particularly cookies and user agent, between the HTTP Request Handler and Selenium WebDriver Manager. This enables seamless transitions between direct HTTP and browser-based interactions.

Related Classes/Methods:

Content Parsing Module

Provides robust capabilities for extracting data from HTML/XML content using various selectors (XPath, CSS, Regex) via the Parsel library. It operates on both raw HTTP responses and the current browser page source, often encapsulated within requestium.requestium_response.RequestiumResponse.

Related Classes/Methods: