Exemple #1
0
func (h *connHandler) onConnect(callback float64, r *amf0.Reader) error {
	if obj, err := r.ReadObject(); err != nil {
		return errors.New("conn.onConnect.read object")
	} else if amfx, ok := obj.GetNumber("objectEncoding"); !ok {
		return errors.New("conn.onConnect.amf version")
	} else if amfx == 0 {
		if err := h.newAmf0RejectResponse(callback); err != nil {
			return errors.New("conn.onConnect.reject amf0 response")
		}
	} else {
		if err := h.newSuccessResponse(callback, h.session.xid, h.session.raddr); err != nil {
			return errors.New("conn.onConnect.success response")
		}
	}
	return nil
}