<commit_before># go-rabbitmq
![Build Status](https://travis-ci.org/sklarsa/go-rabbitmq.svg?branch=master)  ![Go Report Card](https://goreportcard.com/badge/github.com/sklarsa/go-rabbitmq)
#### An API Client written in Go for RabbitMQ's built-in REST API
This is an API client used to communicate with a remote RabbitMQ instance.  If you are just trying to query a node for information, or perhaps manipulate its behavior from a remote machine (without rabbitmqctl or another tool installed), this is the tool for you!

Included will be a full-featured API written in (hopefully) idiomatic Golang, as well as a command line tool for general use.

This is just a small side-project for me (and my first real foray into the world of Golang), but if anyone is interested in helping out, pull requests are more than welcome!

[Link to builds](https://travis-ci.org/sklarsa/go-rabbitmq)

[Link to go report card](https://goreportcard.com/report/github.com/sklarsa/go-rabbitmq)

## Testing
To run unit tests, please run the following commands:

1. `export AMQP_URL=amqp://guest:guest@127.0.0.1:5672/ GOMAXPROCS=2`
2. `make all`

## API Methods Implemented:
| Endpoint        | Methods           |
| --------------  |:-----------------:|
|~~/api/overview~~ | ~~GET~~ |
|/api/cluster-name | ~~GET~~, PUT |
|~~/api/node~~ | ~~GET~~
|~~/api/nodes/name~~ | ~~GET~~
|~~/api/extensions~~ | ~~GET~~
|/api/definitions | GET, POST
|/api/definitions/vhost | GET, POST
|~~/api/connections~~ | ~~GET~~
|~~/api/vhosts/vhost/connections~~ | ~~GET~~
|/api/connections/name | GET, DELETE
|~~/api/connections/name/channels~~ | ~~GET~~
|~~/api/channels~~ | ~~GET~~
|~~/api/vhosts/vhost/channels~~ | ~~GET~~
|/api/channels/channel | GET
|/api/consumers | GET
|/api/consumers/vhost | GET<commit_msg>Adds todo<commit_after># go-rabbitmq
![Build Status](https://travis-ci.org/sklarsa/go-rabbitmq.svg?branch=master)  ![Go Report Card](https://goreportcard.com/badge/github.com/sklarsa/go-rabbitmq)
#### An API Client written in Go for RabbitMQ's built-in REST API
This is an API client used to communicate with a remote RabbitMQ instance.  If you are just trying to query a node for information, or perhaps manipulate its behavior from a remote machine (without rabbitmqctl or another tool installed), this is the tool for you!

Included will be a full-featured API written in (hopefully) idiomatic Golang, as well as a command line tool for general use.

This is just a small side-project for me (and my first real foray into the world of Golang), but if anyone is interested in helping out, pull requests are more than welcome!

[Link to builds](https://travis-ci.org/sklarsa/go-rabbitmq)

[Link to go report card](https://goreportcard.com/report/github.com/sklarsa/go-rabbitmq)

## Testing
To run unit tests, please run the following commands:

1. `export AMQP_URL=amqp://guest:guest@127.0.0.1:5672/ GOMAXPROCS=2`
2. `make all`

## Todos
1. Figure out which version of RabbitMQ is running on Travis, and how to make the api version-agnostic (or create separate branches for different rabbitmq versions)

## API Methods Implemented:
| Endpoint        | Methods           |
| --------------  |:-----------------:|
|~~/api/overview~~ | ~~GET~~ |
|/api/cluster-name | ~~GET~~, PUT |
|~~/api/node~~ | ~~GET~~
|~~/api/nodes/name~~ | ~~GET~~
|~~/api/extensions~~ | ~~GET~~
|/api/definitions | GET, POST
|/api/definitions/vhost | GET, POST
|~~/api/connections~~ | ~~GET~~
|~~/api/vhosts/vhost/connections~~ | ~~GET~~
|/api/connections/name | GET, DELETE
|~~/api/connections/name/channels~~ | ~~GET~~
|~~/api/channels~~ | ~~GET~~
|~~/api/vhosts/vhost/channels~~ | ~~GET~~
|/api/channels/channel | GET
|/api/consumers | GET
|/api/consumers/vhost | GET
{'fraction_non_alphanumeric': 0.1672502019929976, 'fraction_numerical': 0.007271747912739025, 'mean_word_length': 3.9718875502008033, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5226653', 'n_tokens_mistral': 1275, 'n_tokens_neox': 1231, 'n_words': 391}