You've already forked openaccounting-server
mirror of
https://github.com/openaccounting/oa-server.git
synced 2025-12-09 09:00:42 +13:00
initial commit
This commit is contained in:
162
vendor/github.com/sendgrid/rest/README.md
generated
vendored
Normal file
162
vendor/github.com/sendgrid/rest/README.md
generated
vendored
Normal file
@@ -0,0 +1,162 @@
|
||||

|
||||
|
||||
[](https://travis-ci.org/sendgrid/rest)
|
||||
[](http://godoc.org/github.com/sendgrid/rest)
|
||||
[](https://goreportcard.com/report/github.com/sendgrid/rest)
|
||||
[](https://dx.sendgrid.com/newsletter/go)
|
||||
[](https://twitter.com/sendgrid)
|
||||
[](https://github.com/sendgrid/rest/graphs/contributors)
|
||||
[](./LICENSE.txt)
|
||||
|
||||
**Quickly and easily access any RESTful or RESTful-like API.**
|
||||
|
||||
If you are looking for the SendGrid API client library, please see [this repo](https://github.com/sendgrid/sendgrid-go).
|
||||
|
||||
# Announcements
|
||||
|
||||
All updates to this library is documented in our [CHANGELOG](https://github.com/sendgrid/rest/blob/master/CHANGELOG.md).
|
||||
|
||||
# Table of Contents
|
||||
- [Installation](#installation)
|
||||
- [Quick Start](#quick-start)
|
||||
- [Usage](#usage)
|
||||
- [Roadmap](#roadmap)
|
||||
- [How to Contribute](#contribute)
|
||||
- [About](#about)
|
||||
- [License](#license)
|
||||
|
||||
<a name="installation"></a>
|
||||
# Installation
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Go version 1.6.X, 1.7.X, 1.8.X, 1.9.X or 1.10.X
|
||||
|
||||
## Install Package
|
||||
|
||||
```bash
|
||||
go get github.com/sendgrid/rest
|
||||
```
|
||||
|
||||
## Setup Environment Variables
|
||||
|
||||
### Initial Setup
|
||||
|
||||
```bash
|
||||
cp .env_sample .env
|
||||
```
|
||||
|
||||
### Environment Variable
|
||||
|
||||
Update the development environment with your [SENDGRID_API_KEY](https://app.sendgrid.com/settings/api_keys), for example:
|
||||
|
||||
```bash
|
||||
echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env
|
||||
echo "sendgrid.env" >> .gitignore
|
||||
source ./sendgrid.env
|
||||
```
|
||||
|
||||
<a name="quick-start"></a>
|
||||
# Quick Start
|
||||
|
||||
`GET /your/api/{param}/call`
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import "github.com/sendgrid/rest"
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
const host = "https://api.example.com"
|
||||
param := "myparam"
|
||||
endpoint := "/your/api/" + param + "/call"
|
||||
baseURL := host + endpoint
|
||||
method := rest.Get
|
||||
request := rest.Request{
|
||||
Method: method,
|
||||
BaseURL: baseURL,
|
||||
}
|
||||
response, err := rest.Send(request)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
} else {
|
||||
fmt.Println(response.StatusCode)
|
||||
fmt.Println(response.Body)
|
||||
fmt.Println(response.Headers)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`POST /your/api/{param}/call` with headers, query parameters and a request body.
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import "github.com/sendgrid/rest"
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
const host = "https://api.example.com"
|
||||
param := "myparam"
|
||||
endpoint := "/your/api/" + param + "/call"
|
||||
baseURL := host + endpoint
|
||||
Headers := make(map[string]string)
|
||||
key := os.Getenv("API_KEY")
|
||||
Headers["Authorization"] = "Bearer " + key
|
||||
Headers["X-Test"] = "Test"
|
||||
var Body = []byte(`{"some": 0, "awesome": 1, "data": 3}`)
|
||||
queryParams := make(map[string]string)
|
||||
queryParams["hello"] = "0"
|
||||
queryParams["world"] = "1"
|
||||
method := rest.Post
|
||||
request = rest.Request{
|
||||
Method: method,
|
||||
BaseURL: baseURL,
|
||||
Headers: Headers,
|
||||
QueryParams: queryParams,
|
||||
Body: Body,
|
||||
}
|
||||
response, err := rest.Send(request)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
} else {
|
||||
fmt.Println(response.StatusCode)
|
||||
fmt.Println(response.Body)
|
||||
fmt.Println(response.Headers)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
<a name="usage"></a>
|
||||
# Usage
|
||||
|
||||
- [Usage Examples](USAGE.md)
|
||||
|
||||
<a name="roadmap"></a>
|
||||
# Roadmap
|
||||
|
||||
If you are interested in the future direction of this project, please take a look at our [milestones](https://github.com/sendgrid/rest/milestones). We would love to hear your feedback.
|
||||
|
||||
<a name="contribute"></a>
|
||||
# How to Contribute
|
||||
|
||||
We encourage contribution to our projects, please see our [CONTRIBUTING](https://github.com/sendgrid/rest/blob/master/CONTRIBUTING.md) guide for details.
|
||||
|
||||
Quick links:
|
||||
|
||||
- [Feature Request](https://github.com/sendgrid/rest/blob/master/CONTRIBUTING.md#feature-request)
|
||||
- [Bug Reports](https://github.com/sendgrid/rest/blob/master/CONTRIBUTING.md#submit-a-bug-report)
|
||||
- [Sign the CLA to Create a Pull Request](https://github.com/sendgrid/rest/blob/master/CONTRIBUTING.md#cla)
|
||||
- [Improvements to the Codebase](https://github.com/sendgrid/rest/blob/master/CONTRIBUTING.md#improvements-to-the-codebase)
|
||||
|
||||
<a name="about"></a>
|
||||
# About
|
||||
|
||||
rest is guided and supported by the SendGrid [Developer Experience Team](mailto:dx@sendgrid.com).
|
||||
|
||||
rest is maintained and funded by SendGrid, Inc. The names and logos for rest are trademarks of SendGrid, Inc.
|
||||
|
||||
<a name="license"></a>
|
||||
# License
|
||||
[The MIT License (MIT)](LICENSE.txt)
|
||||
Reference in New Issue
Block a user