MCPcopy Create free account
hub / github.com/daodst/chat / get

Method get

server/session.go:454–485  ·  view source on GitHub ↗
(msg *ClientComMessage)

Source from the content-addressed store, hash-verified

452}
453
454func (s *Session) get(msg *ClientComMessage) {
455 log.Println("s.get: processing 'get." + msg.Get.What + "'")
456
457 // Validate topic name
458 original, expanded, err := s.validateTopicName(msg.Get.Id, msg.Get.Topic, msg.timestamp)
459 if err != nil {
460 s.QueueOut(err)
461 return
462 }
463
464 sub, ok := s.subs[expanded]
465 meta := &metaReq{
466 topic: expanded,
467 pkt: msg,
468 sess: s,
469 what: parseMsgClientMeta(msg.Get.What)}
470
471 if meta.what == 0 {
472 s.QueueOut(ErrMalformed(msg.Get.Id, original, msg.timestamp))
473 log.Println("s.get: invalid Get message action: '" + msg.Get.What + "'")
474 } else if ok {
475 sub.meta <- meta
476 } else {
477 if (meta.what&constMsgMetaData != 0) || (meta.what&constMsgMetaSub != 0) {
478 log.Println("s.get: invalid Get message action for hub routing: '" + msg.Get.What + "'")
479 s.QueueOut(ErrPermissionDenied(msg.Get.Id, original, msg.timestamp))
480 } else {
481 // Info on a topic not currently subscribed to. Request info from the hub
482 globals.hub.meta <- meta
483 }
484 }
485}
486
487func (s *Session) set(msg *ClientComMessage) {
488 log.Println("s.set: processing 'set." + msg.Set.What + "'")

Callers 1

dispatchMethod · 0.95

Calls 5

validateTopicNameMethod · 0.95
QueueOutMethod · 0.95
parseMsgClientMetaFunction · 0.85
ErrMalformedFunction · 0.85
ErrPermissionDeniedFunction · 0.85

Tested by

no test coverage detected