Golly is a collection of reusable common utilities for go programming language.
- Create reusable common collection of utilities targeting enterprise use cases
- Ensure the project is self-contained and minimise external dependencies.
go get oss.nandlabs.io/golly
-
- Easy to use API for building complex command structures
- Argument parsing and validation
-
- Easy to use interface
- Multiformat support
- Unifed interface for Endcoding and Decoding data from structured format
- Out of the box support for
XML
JSON
&YAML
-
- Lightweight Levelled Logger
- Multiple logging levels
OFF,ERROR,INFO,DEBUG,TRACE
- Console and File based writers
- Ability to specify log levels for a specific package
- Async logging support
- Configuration can be done using either a file,env variables,Struct values at runtime.
-
- General producer interface for sending messages to different messaging platforms.
- General consumer interface for receiving and processing messages from different messaging platforms.
- A local provider interface for messaging using channels
-
rest server
- HTTP methods: GET, POST, PUT, DELETE
- Query parameters
- Request headers
- Middleware support
- TLS Configuration
- Transport Layer Configuration
- HTTP methods: GET, POST, PUT, DELETE
- Query parameters
- Request headers
- Proxy Configuration
- TLS Configuration
- Transport Layer Configuration
- SSL Configuration
- Error handling
-
- Adheres to the SemVer 2.0.0 specification
- Easy to use API for parsing, comparing and generating SemVer versions
- Supports pre-release and build metadata
-
- Smart Http Routing Capabilities
- Aimed for API Development
- Easy to use
- Filters
-
- Virtual File System
- Unified interface for multiple file systems
- Default implementation for local fs available
- Extensible framework
-
- Flexible and extensible assertion library
And many more... Refer to Godocs for more information
We welcome contributions to the project. If you find a bug or would like to request a new feature, please open an issue on GitHub.
This project is licensed under MIT License. See the License file for details.