package amf import "errors" func (amf_obj_root AMFObj) ProcessConnect() (string, error) { err := errors.New("Bad AMF connect command") if _, ok := amf_obj_root[0]; !ok { return "", err } else if command_string, ok := amf_obj_root[0].(string); !ok || command_string != "connect" { return "", err } if _, ok := amf_obj_root[1]; !ok { return "", err } else if transac_id_float, ok := amf_obj_root[1].(float64); !ok || transac_id_float != 1.0 { return "", err } if _, ok := amf_obj_root[2]; !ok { return "", err } else if _, ok := amf_obj_root[2].(AMFObj); !ok { return "", err } else if _, ok := amf_obj_root[2].(AMFObj)["tcUrl"]; !ok { return "", err } else if tcUrl, ok := amf_obj_root[2].(AMFObj)["tcUrl"].(string); ok { return tcUrl, nil } else { return "", err } }