12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using SuperSocket.SocketBase.Command;
- using SuperSocket.SocketBase.Protocol;
- namespace SuperWebSocket.SubProtocol
- {
- /// <summary>
- /// Basic sub command parser
- /// </summary>
- public class BasicSubCommandParser : IRequestInfoParser<SubRequestInfo>
- {
- #region ISubProtocolCommandParser Members
- /// <summary>
- /// Parses the request info.
- /// </summary>
- /// <param name="source">The source.</param>
- /// <returns></returns>
- public SubRequestInfo ParseRequestInfo(string source)
- {
- var cmd = source.Trim();
- int pos = cmd.IndexOf(' ');
- string name;
- string param;
- if (pos > 0)
- {
- name = cmd.Substring(0, pos);
- param = cmd.Substring(pos + 1);
- }
- else
- {
- name = cmd;
- param = string.Empty;
- }
- pos = name.IndexOf('-');
- string token = string.Empty;
- if (pos > 0)
- {
- token = name.Substring(pos + 1);
- name = name.Substring(0, pos);
- }
- return new SubRequestInfo(name, token, param);
- }
- #endregion
- }
- }
|