http_methods_golang is a tiny wrapper for implementing HTTP request methods with Golang, and designed for reuse in every projects which don't have to implement those METHODS, when a simple communication is in need.
HTTP Protocol defined serveal request methods for gaining data and contents using Network.
METHOD | STATUS |
---|---|
GET | √ |
POST | √ |
HEAD | -- |
PUT | √ |
DELETE | √ |
CONNECT | -- |
OPTIONS | -- |
TRACE | -- |
PATCH | -- |
OPERATE | STATUS |
---|---|
READ FILE | √ |
WRITE FILE | √ |
go get github.com/kwangsing3/http_methods_golang
- Would return HTML file if request target is website.
- Would return bytes if request a data.
//GET: To get data from GET method, need to wait for respone
//<url>: request address.
func GET(url string) ([]byte, error)
- Mostly use for encrypt request or requested using
<form>
. - May using for change server status or special request (Depends on the design).
//POST: To get data from POST method, need to wait for respone
//<url>: request address.
//<query>: The query you want to do, mostly are json, but still depends on the server you request.
func POST(url string, query []byte) ([]byte, error)
//DELETE: http Delete method request
func DELETE(url string) ([]byte, error)
//PUT: http Delete method request
func PUT(url string, content string) ([]byte, error)
package main
import (
"encoding/json"
"fmt"
HMG "github.com/kwangsing3/http_methods_golang"
)
func main() {
/***GET request***/
dataGET, errG := HMG.GET("https://example.com")
if errG != nil {
fmt.Println(errG.Error())
}
fmt.Println(string(dataGET))
/*** POST request***/
query := struct {
Msg string
}{
Msg: `New Message`, //query Struct depends on the server you request.
}
bytequery, _ := json.Marshal(query)
dataPOST, errP := HMG.POST("https://example.com", bytequery)
if errP != nil {
fmt.Println(errP.Error())
}
fmt.Println(string(dataPOST))
return
}