This package implements HTTP request and response signing and verification. Supports the major MAC and asymmetric key signature algorithms. It has several safety restrictions: One, none of the widely known non-cryptographically safe algorithms are permitted; Two, the RSA SHA256 algorithms must be available in the binary (and it should, barring export restrictions); Finally, the library assumes either the Authorizationn or Signature headers are to be set (but not both).
It's an alternative fork of https://github.com/go-fed/httpsig.
This package implements ULID as specified in https://github.com/ulid/spec.
Features of ULID:
128-bit compatibility with UUID
1.21e+24 unique ULIDs per millisecond
lexicographically sortable
canonically encoded as a 26 character string, as opposed to the 36 character UUID
uses Crockford's base32 for better efficiency and readability (5 bits per character)
case insensitive
no special characters (URL safe)
monotonic sort order (correctly detects and handles the same millisecond)
libdns
is a collection of free-range DNS provider client implementations. It defines the core interfaces that provider packages should implement. They are small and idiomatic interfaces with well-defined semantics.
The interfaces include:
RecordGetter to list records.
RecordAppender to append new records.
RecordSetter to set (create or change existing) records.
RecordDeleter to delete records.
This Package provides a functionality of INI file read and write, implementing features:
load from multiple data sources(file,
[]byte
,io.Reader
andio.ReadCloser
) with overwritesread with recursion values
read with parent-child sections
read with auto-increment key names
read with multiple-line values
read with tons of helper methods
read and convert values to Go types
read and WRITE comments of sections and keys
manipulate sections, keys and comments with ease
keep sections and keys in order as you parse and save
cli is a library for implementing command-line interfaces. Features:
easy sub-command based CLIs:
cli foo
,cli bar
, etc.support for nested subcommands such as
cli foo bar
optional support for default subcommands so
cli
does something other than errorsupport for shell autocompletion of subcommands, flags, and arguments with callbacks in Go
automatic help generation for listing subcommands
automatic help flag recognition of
-h
,--help
, etc.automatic version flag recognition of
-v
,--version
helpers for interacting with the terminal, such as outputting information, asking for input, etc.
use of Go interfaces/types makes augmenting various parts of the library a piece of cake
Simplistic, opinionated logging for Golang.
This package provides a reflection extension.
Collection of compression libraries for Go
Package pdf implements reading of PDF files.
Package errors provides simple error handling primitives.
Package git is a low level and highly extensible git client library for reading repositories from git servers. It is written in Go from scratch, without any C dependencies.
Package json5 implements decoding of JSON5 values.
Package gozstd is Go wrapper for zstd.
This package provides a simple ASCII tree composing tool.
This package provides geographical locations of countries and cities.
refmt
is a serialization and object-mapping library.
An interface definition for a fully defined clock.
This package handles Redis RDB format in Golang.
This package provides additions to Go's stdlib fmt
.
Package alice provides a convenient way to chain HTTP handlers.
Golang utilities to make your life easier with zero allocations.