rts alternatives and similar packages
Based on the "Go Tools" category.
Alternatively, view rts alternatives based on common mentions on social networks and blogs.
-
JuiceFS
JuiceFS is a distributed POSIX file system built on top of Redis and S3. -
JSON-to-Go
Translates JSON into a Go type in your browser instantly (original) -
The Go Play Space
Advanced Go Playground frontend written in Go, with syntax highlighting, turtle graphics mode, and more -
Peanut
๐บ Deploy Databases and Services Easily for Development and Testing Pipelines. -
golang-tutorials
Golang Tutorials. Learn Golang from Scratch with simple examples. -
xdg-go
Go implementation of the XDG Base Directory Specification and XDG user directories -
typex
[TOOL/CLI] - Filter and examine Go type structures, interfaces and their transitive dependencies and relationships. Export structural types as TypeScript value object or bare type representations. -
golang-ipc
Golang Inter-process communication library for Window, Mac and Linux. -
Viney's go-cache
A flexible multi-layer Go caching library to deal with in-memory and shared cache by adopting Cache-Aside pattern. -
gothanks
GoThanks automatically stars Go's official repository and your go.mod github dependencies, providing a simple way to say thanks to the maintainers of the modules you use and the contributors of Go itself. -
go-lock
go-lock is a lock library implementing read-write mutex and read-write trylock without starvation -
goroutines
It is an efficient, flexible, and lightweight goroutine pool. It provides an easy way to deal with concurrent tasks with limited resource. -
PDF to Image Converter Using Golang
This project will help you to convert PDF file to IMAGE using golang. -
An exit strategy for go routines.
An exit strategy for go routines -
go-james
James is your butler and helps you to create, build, debug, test and run your Go projects -
generator-go-lang
A Yeoman generator to get new Go projects started. -
Paymail Inspector
:money_with_wings: CLI app for interacting with paymail service providers -
gomodrun
The forgotten go tool that executes and caches binaries included in go.mod files. -
go-sanitize
:bathtub: Golang library of simple to use sanitation functions -
docs
Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard -
channelize
A websocket framework to manage outbound streams. Allowing to have multiple channels per connection that includes public and private channels. -
go-whatsonchain
:link: Unofficial golang implementation for the WhatsOnChain API -
Proofable
General purpose proving framework for certifying digital assets to public blockchains -
modver
Compare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to semver rules. -
redispubsub
Redis Streams queue driver for https://godoc.org/gocloud.dev/pubsub package -
go-slices
Helper functions for the manipulation of slices of all types in Go -
num30/go-cache
An in-memory key:value store/cache (similar to Memcached) library that takes advantage of Go Generics
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of rts or a related project?
README
RTS: Request to Struct
Generate Go structs definitions from JSON server responses.
RTS defines type names using the specified lines in the route file and skipping numbers.
e.g: a request to a route like /users/1/posts
generates type UsersPosts
It supports parameters: a line like /users/:user/posts/:pid 1 200
generates type UsersUserPostsPid
from the response to the request GET /users/1/posts/200
.
RTS supports headers personalization as well, thus it can be used to generate types from responses protected by some authorization method
Updated: 6/17/2016 by Krish Verma https://github.com/kverma
In case the JSON server is HTTPS with unknown certificate signing authority, pass the -insecure flag to disable TLS certificate check
Install
CLI Application
go get -u github.com/galeone/rts/cmd/rts
Library
import "github.com/galeone/rts"
byteFile, err := rts.Do(pkg, server, lines, headerMap)
CLI Usage
rts [options]
-headers string
Headers to add in every request
-help
prints this help
-insecure
Disables TLS Certificate check for HTTPS, use in case HTTPS Server Certificate is signed by an unknown authority
-out string
Output file. Stdout is used if not specified
-pkg string
Package name (default "main")
-routes string
Routes to request. One per line (default "routes.txt")
-server string
sets the server address (default "http://localhost:9090")
-substruct
Creates types for sub-structs
Example
routes.txt:
/
/repos/:user/:repo galeone igor
Run:
rts -server https://api.github.com -pkg example
Returns:
package example
type Foo1 struct {
AuthorizationsURL string `json:"authorizations_url"`
CodeSearchURL string `json:"code_search_url"`
CurrentUserAuthorizationsHTMLURL string `json:"current_user_authorizations_html_url"`
CurrentUserRepositoriesURL string `json:"current_user_repositories_url"`
CurrentUserURL string `json:"current_user_url"`
EmailsURL string `json:"emails_url"`
EmojisURL string `json:"emojis_url"`
EventsURL string `json:"events_url"`
FeedsURL string `json:"feeds_url"`
FollowersURL string `json:"followers_url"`
FollowingURL string `json:"following_url"`
GistsURL string `json:"gists_url"`
HubURL string `json:"hub_url"`
IssueSearchURL string `json:"issue_search_url"`
IssuesURL string `json:"issues_url"`
KeysURL string `json:"keys_url"`
NotificationsURL string `json:"notifications_url"`
OrganizationRepositoriesURL string `json:"organization_repositories_url"`
OrganizationURL string `json:"organization_url"`
PublicGistsURL string `json:"public_gists_url"`
RateLimitURL string `json:"rate_limit_url"`
RepositorySearchURL string `json:"repository_search_url"`
RepositoryURL string `json:"repository_url"`
StarredGistsURL string `json:"starred_gists_url"`
StarredURL string `json:"starred_url"`
TeamURL string `json:"team_url"`
UserOrganizationsURL string `json:"user_organizations_url"`
UserRepositoriesURL string `json:"user_repositories_url"`
UserSearchURL string `json:"user_search_url"`
UserURL string `json:"user_url"`
}
type ReposUserRepo struct {
ArchiveURL string `json:"archive_url"`
AssigneesURL string `json:"assignees_url"`
BlobsURL string `json:"blobs_url"`
BranchesURL string `json:"branches_url"`
CloneURL string `json:"clone_url"`
CollaboratorsURL string `json:"collaborators_url"`
CommentsURL string `json:"comments_url"`
CommitsURL string `json:"commits_url"`
CompareURL string `json:"compare_url"`
ContentsURL string `json:"contents_url"`
ContributorsURL string `json:"contributors_url"`
CreatedAt string `json:"created_at"`
DefaultBranch string `json:"default_branch"`
DeploymentsURL string `json:"deployments_url"`
Description string `json:"description"`
DownloadsURL string `json:"downloads_url"`
EventsURL string `json:"events_url"`
Fork bool `json:"fork"`
Forks int `json:"forks"`
ForksCount int `json:"forks_count"`
ForksURL string `json:"forks_url"`
FullName string `json:"full_name"`
GitCommitsURL string `json:"git_commits_url"`
GitRefsURL string `json:"git_refs_url"`
GitTagsURL string `json:"git_tags_url"`
GitURL string `json:"git_url"`
HasDownloads bool `json:"has_downloads"`
HasIssues bool `json:"has_issues"`
HasPages bool `json:"has_pages"`
HasWiki bool `json:"has_wiki"`
Homepage string `json:"homepage"`
HooksURL string `json:"hooks_url"`
HTMLURL string `json:"html_url"`
ID int `json:"id"`
IssueCommentURL string `json:"issue_comment_url"`
IssueEventsURL string `json:"issue_events_url"`
IssuesURL string `json:"issues_url"`
KeysURL string `json:"keys_url"`
LabelsURL string `json:"labels_url"`
Language string `json:"language"`
LanguagesURL string `json:"languages_url"`
MergesURL string `json:"merges_url"`
MilestonesURL string `json:"milestones_url"`
MirrorURL interface{} `json:"mirror_url"`
Name string `json:"name"`
NetworkCount int `json:"network_count"`
NotificationsURL string `json:"notifications_url"`
OpenIssues int `json:"open_issues"`
OpenIssuesCount int `json:"open_issues_count"`
Owner struct {
AvatarURL string `json:"avatar_url"`
EventsURL string `json:"events_url"`
FollowersURL string `json:"followers_url"`
FollowingURL string `json:"following_url"`
GistsURL string `json:"gists_url"`
GravatarID string `json:"gravatar_id"`
HTMLURL string `json:"html_url"`
ID int `json:"id"`
Login string `json:"login"`
OrganizationsURL string `json:"organizations_url"`
ReceivedEventsURL string `json:"received_events_url"`
ReposURL string `json:"repos_url"`
SiteAdmin bool `json:"site_admin"`
StarredURL string `json:"starred_url"`
SubscriptionsURL string `json:"subscriptions_url"`
Type string `json:"type"`
URL string `json:"url"`
} `json:"owner"`
Private bool `json:"private"`
PullsURL string `json:"pulls_url"`
PushedAt string `json:"pushed_at"`
ReleasesURL string `json:"releases_url"`
Size int `json:"size"`
SSHURL string `json:"ssh_url"`
StargazersCount int `json:"stargazers_count"`
StargazersURL string `json:"stargazers_url"`
StatusesURL string `json:"statuses_url"`
SubscribersCount int `json:"subscribers_count"`
SubscribersURL string `json:"subscribers_url"`
SubscriptionURL string `json:"subscription_url"`
SvnURL string `json:"svn_url"`
TagsURL string `json:"tags_url"`
TeamsURL string `json:"teams_url"`
TreesURL string `json:"trees_url"`
UpdatedAt string `json:"updated_at"`
URL string `json:"url"`
Watchers int `json:"watchers"`
WatchersCount int `json:"watchers_count"`
}
License
RTS: Request to Struct. Generates Go structs from a server response. Copyright (C) 2016 Paolo Galeone [email protected]
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. Exhibit B is not attached; this software is compatible with the licenses expressed under Section 1.12 of the MPL v2.
*Note that all licence references and agreements mentioned in the rts README section above
are relevant to that project's source code only.