// Convenience method for writing error responses. func (this *ErisDbWsService) writeError(msg, id string, code int, session *server.WSSession) { response := rpc.NewRPCErrorResponse(id, code, msg) bts, err := this.codec.EncodeBytes(response) // If there's an error here all bets are off. if err != nil { panic("Failed to marshal standard error response." + err.Error()) } session.Write(bts) }
// Convenience method for writing responses. func (this *ErisDbWsService) writeResponse(id string, result interface{}, session *server.WSSession) { response := rpc.NewRPCResponse(id, result) bts, err := this.codec.EncodeBytes(response) fmt.Printf("Response: %v\n", response) if err != nil { this.writeError("Internal error: "+err.Error(), id, rpc.INTERNAL_ERROR, session) return } session.Write(bts) }
func (this *ScumSocketService) Process(data []byte, session *server.WSSession) { resp := rpc.NewRPCResponse("1", "Scumbag") bts, _ := json.Marshal(resp) session.Write(bts) }