moul/http2curl

📐 Convert Golang's http.Request to CURL command line

Makefile

798

105 commits

updated Sep 19, 2026

See the code

README

http2curl

📐 Convert Golang's http.Request to CURL command line

go.dev reference License GitHub release Docker Metrics Made by Manfred Touron

Go Release PR GolangCI codecov Go Report Card CodeFactor

To do the reverse operation, check out mholt/curl-to-go.

Example

import (
    "http"
    "moul.io/http2curl"
)

data := bytes.NewBufferString(`{"hello":"world","answer":42}`)
req, _ := http.NewRequest("PUT", "http://www.example.com/abc/def.ghi?jlk=mno&pqr=stu", data)
req.Header.Set("Content-Type", "application/json")

command, _ := http2curl.GetCurlCommand(req)
fmt.Println(command)
// Output: curl -X PUT -d "{\"hello\":\"world\",\"answer\":42}" -H "Content-Type: application/json" http://www.example.com/abc/def.ghi?jlk=mno&pqr=stu

Install

go get moul.io/http2curl

Usages

License

© 2019-2021 Manfred Touron

Licensed under the Apache License, Version 2.0 (LICENSE-APACHE) or the MIT license (LICENSE-MIT), at your option. See the COPYRIGHT file for more details.

SPDX-License-Identifier: (Apache-2.0 OR MIT)

moul/http2curl

📐 Convert Golang's http.Request to CURL command line

Makefile

798

105 commits

updated Sep 19, 2026

See the code

README

http2curl

📐 Convert Golang's http.Request to CURL command line

go.dev reference License GitHub release Docker Metrics Made by Manfred Touron

Go Release PR GolangCI codecov Go Report Card CodeFactor

To do the reverse operation, check out mholt/curl-to-go.

Example

import (
    "http"
    "moul.io/http2curl"
)

data := bytes.NewBufferString(`{"hello":"world","answer":42}`)
req, _ := http.NewRequest("PUT", "http://www.example.com/abc/def.ghi?jlk=mno&pqr=stu", data)
req.Header.Set("Content-Type", "application/json")

command, _ := http2curl.GetCurlCommand(req)
fmt.Println(command)
// Output: curl -X PUT -d "{\"hello\":\"world\",\"answer\":42}" -H "Content-Type: application/json" http://www.example.com/abc/def.ghi?jlk=mno&pqr=stu

Install

go get moul.io/http2curl

Usages

License

© 2019-2021 Manfred Touron

Licensed under the Apache License, Version 2.0 (LICENSE-APACHE) or the MIT license (LICENSE-MIT), at your option. See the COPYRIGHT file for more details.

SPDX-License-Identifier: (Apache-2.0 OR MIT)

Project health

Overall

4.1/10

Maintained

1/10

Code review

6/10
OpenSSF Scorecard

Significant stargazers

favonia

332 followers · starred Aug 2021

Andy Pan

3,542 followers · starred Feb 2023

Vojtech Vitek (golang.cz)

232 followers · starred Oct 2017

Mattias Wadman

1,620 followers · starred Sep 2021