Comments (7)
From a quick glance, I believe one can do the following with golongpoll + gin:
package main
import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/jcuga/golongpoll"
)
func main() {
// Create longpoll manger with default opts
manager, err := golongpoll.StartLongpoll(golongpoll.Options{})
if err != nil {
panic(err)
}
router := gin.Default()
router.POST("/pub", wrapWithContext(manager.PublishHandler))
router.GET("/sub", wrapWithContext(manager.SubscriptionHandler))
router.Run(":8001")
}
func wrapWithContext(lpHandler func(http.ResponseWriter, *http.Request)) func(*gin.Context) {
return func(c *gin.Context) {
lpHandler(c.Writer, c.Request)
}
}
This will let you stick the longpoll pub/sub handlers within a router.POST
and router.GET
handler.
Is this what you wanted, or something more?
I could make a gin-longpoll
repo that provides some convenience functions for doing this... Is there anything more to it than this?
from golongpoll.
(Good, I'm so glad I'm not the only one thinking about the same!)
Er, +1 on this issue/question/suggestion!
from golongpoll.
Closing as README now has example of using with gin via: 958739a
from golongpoll.
I haven't used gin but I plan on taking a look into what sort of lift this would entail. Stay tuned!
from golongpoll.
I wonder if the above example would "just work" with any of gin middleware before/after it gets to the pub/sub handlers. I'd imagine it should?
from golongpoll.
@jcuga thanks for the solution which you've provided. I think its better if we create a separate repo so that later people can add more issues and enhancements to the same.
I wonder if the above example would "just work" with any of gin middleware before/after it gets to the pub/sub handlers. I'd imagine it should?
let me try I will update you on this.
from golongpoll.
I added the above gin example to the readme in 958739a
from golongpoll.
Related Issues (20)
- add data backend for scaling and data persistence support HOT 2
- Listen on multiple categories HOT 1
- Do you have an example on how to create a reliable http client to consume golongpoll?
- Offer an "official" Golang client HOT 2
- High CPU load? HOT 5
- client js HOT 3
- Events published in same millisecond aren't seen by clients HOT 3
- Please replace deprecated CloseNotify with Context().Done() HOT 3
- question: version migration guide HOT 2
- How do you make sure the concurrent issue? HOT 2
- multiple replicas problem HOT 4
- Acks every 15 seconds HOT 1
- hi,how to custom SubscriptionHandler and PublishHandler ?
- Go Mistake #76: time.After and memory leaks
- Handler keeps on waiting for a timeout even though the client has been disconnected. HOT 5
- question about Http Server integration HOT 5
- Latest tag name seems like a typo - messes up SemVer HOT 2
- used in production? HOT 1
- Example of scaling this ? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from golongpoll.