1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gqlengine-chatbox

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
main.go 1.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Kevin Chen Отправлено 10.02.2020 17:39 e14abf8
package main
import (
"net/http"
"github.com/gorilla/mux"
"github.com/gqlengine/gqlengine"
"github.com/gqlengine/playground"
)
func main() {
engine := gqlengine.NewEngine(gqlengine.Options{
Tracing: true,
MultipartParsingBufferSize: 1024 * 1024 * 10,
})
if err := engine.PreRegisterInterface((*Message)(nil), MessageBase{}); err != nil {
panic(err)
}
if _, err := engine.RegisterObject(TextMessage{}); err != nil {
panic(err)
}
if _, err := engine.RegisterObject(ImageMessage{}); err != nil {
panic(err)
}
if _, err := engine.RegisterObject(Notification{}); err != nil {
panic(err)
}
engine.NewQuery(GetMessageHistory).
Name("chatHistory")
engine.NewSubscription(StartMessaging).
OnUnsubscribed(StopMessaging).
Name("chatMessage")
engine.NewMutation(SendTextMessage)
engine.NewMutation(SendImageMessage)
engine.NewQuery(CheckUsername)
go messageLoop()
if err := engine.Init(); err != nil {
panic(err)
}
playground.SetEndpoints("/api/graphql", "/api/graphql/subscriptions")
r := mux.NewRouter()
r.HandleFunc("/api/graphql", engine.ServeHTTP)
r.HandleFunc("/api/graphql/subscriptions", engine.ServeWebsocket)
r.PathPrefix("/api/graphql/playground").Handler(playground.GetHandle("/api/graphql/playground"))
r.PathPrefix("/").Handler(http.StripPrefix("/", http.FileServer(AssetFile())))
println("open demo page at: http://localhost:9996/")
println("open playground http://localhost:9996/api/graphql/playground/")
if err := http.ListenAndServe(":9996", r); err != nil {
panic(err)
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/gqlengine-chatbox.git
git@api.gitlife.ru:oschina-mirror/gqlengine-chatbox.git
oschina-mirror
gqlengine-chatbox
gqlengine-chatbox
master