parser: accept join delimiter character from client, do not hardcode it as '|'