Current Implementation Status

This page provides an overview of the current state of the Apache Synapse Go implementation. It highlights the key features that have been implemented and are ready for use.

Core Features

1. Server Setup and Artifact Deployment

The Synapse Go implementation provides a robust setup for starting the Synapse server and deploying artifacts:

  • Server Initialization: A streamlined process to initialize and start the Synapse server
  • Artifact Management: Built-in capabilities to load, validate, and deploy various artifacts including APIs, endpoints, sequences, and inbounds
  • Configuration Management: Deployment configurations using TOML format for easy customization

2. Package-level Hot Deployable Logging

A custom logging solution that offers functionality beyond what mainstream Golang logging packages provide:

  • Hot Configuration Updates: Change log levels and configurations without restarting the server
  • Structured Logging: Support for both structured and traditional logging formats

3. File Inbound Endpoint

Comprehensive support for file-based integration patterns:

  • Multiple Protocol Support:
    • Local file systems
    • FTP (File Transfer Protocol)
    • SFTP (Secure File Transfer Protocol)
  • Features:
    • Directory polling
    • File locking during processing
    • Configurable polling intervals
    • File filtering by pattern
    • Post-processing actions (move, delete)

4. HTTP Inbound Endpoint

Flexible HTTP server implementation for receiving and processing HTTP requests:

  • Protocol Support: HTTP/1.1 and HTTP/2
  • Methods: Support for all standard HTTP methods (GET, POST, PUT, DELETE, etc.)
  • Path Parameters: Route pattern matching with parameter extraction
  • Query Parameters: Easy access to query string parameters
  • Request and Response Headers: Full control over HTTP headers
  • Content Handling: Support for various content types including JSON, XML, form data

5. API with CORS and Swagger Support

Comprehensive API management capabilities:

  • REST APIs: Define and expose REST APIs
  • CORS Support: Configurable Cross-Origin Resource Sharing
  • Swagger/OpenAPI: Automatic generation of OpenAPI documentation
  • API Versioning: Support for versioning APIs
  • Security: Various authentication and authorization options

6. Implemented Mediators

Core mediators for message transformation and routing:

  • Log Mediator: Configurable logging of message details at various points in the message flow
  • Respond Mediator: Send responses back to clients with control over status codes and headers
  • Call Mediator: Make outbound calls to external services and endpoints

7. Endpoint Implementation

Flexible endpoint abstractions for connecting to backend services:

  • HTTP Endpoints: Connect to HTTP-based services

Looking Forward

For details on each implemented component, please refer to the respective documentation sections. The following pages provide in-depth information about the architecture and implementation of each component.