mirror of
https://github.com/snail007/goproxy.git
synced 2026-04-27 00:15:51 +03:00
[GH-ISSUE #64] potential use question #36
Labels
No labels
TODO
bug
duplicate
enhancement
good first issue
help wanted
helpful
invalid
need-confirm
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/goproxy#36
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Outstep on GitHub (Apr 27, 2018).
Original GitHub issue: https://github.com/snail007/goproxy/issues/64
Hello,
I am working on a small proxy-type project which I have been coding up in C++, but it is taking a long time and does not support the features that I need so I started to investigate Golang multiplexers/routers, and Proxy servers.
What I am looking for is to develop a type of "middleware" that receives a REST API call from a frontend server and then re-writes the request so that it can be sent out like a proxy server to a backend REST API data server that will return a JSON result.
That JSON result will be re-written into a different JSON format & structure which will be sent back to the original caller.
I am wondering if your "GoProxy" (Proxy Networks) could be made to work along these lines, so I wanted to ask and investigate the potential.
Any ideas, or suggestion would be greatly appreciated.
Thanks in advance.
@Outstep commented on GitHub (Apr 27, 2018):
Sorry for the message, I just found your group on Gitter and Telegram
@snail007 commented on GitHub (Apr 28, 2018):
your purpose is easily achieved by golang,the fllowing is an example for you,
@Outstep commented on GitHub (Apr 28, 2018):
Thank you so much for getting back to me and for sending over the code. It
looks like I may have to spend some time to get up to speed on the power of
Golang as it seems to have some advantages over my old experiences with
C/C++.
For the project that I was discussing I was thinking about trying to combine
Goproxy (https://github.com/snail007/goproxy)
with the routing/multiplexer abilities of
Goji (https://goji.io/) or a similar router library so that you could
establish channels in the re-writing JSON proxy so that it could talk to
different JSON (or possibly XML) backend servers to collect returns and
send them forward to the frontend web server.
This might have potential as a MetaSearch engine middleware that gets data
from different existing search engines and aggregates all of returns into a
single collection that returns a JSON to the frontend server.
That's the basic idea that I am shooting for, but with a simpler start of
just re-writing a single JSON source to test things out.
Cheers and have a great day :)
On Sat, Apr 28, 2018 at 12:32 AM, snail007 notifications@github.com wrote:
@snail007 commented on GitHub (Apr 28, 2018):
You are beginner of golang, and also http proxies; Through you say above, i have some suggestions for you with below:
1.a powerful http server library in golang, https://github.com/valyala/fasthttp
2.a powerful router of fasthttp https://github.com/buaazp/fasthttprouter
3.json encode/decode example in golang, https://golang.org/src/encoding/json/example_test.go
4.http request library,https://github.com/parnurzeal/gorequest