예제 #1
0
        public ServerContext(PoseHeader header)
        {
            if (header == null)
            {
                return;
            }

            _eSignature   = header.eSignature;
            _eSignatureIV = header.eSignatureIV;
            _eCredentials = header.eCredentials;
        }
예제 #2
0
        public static void ReadAuthorization(Message request)
        {
            HttpRequestMessageProperty properties = request.Properties["httpRequest"] as HttpRequestMessageProperty;
            var token = properties.Headers.Get(PoseHeader.HEADER_NAME);

            PoseHeader headerData = null;

            if (!string.IsNullOrEmpty(token) && token.StartsWith("Bearer "))
            {
                headerData = PoseHeader.ParseFromBase64(token);
            }

            ServerContext serverContext = new ServerContext(headerData);

            serverContext.Attach(OperationContext.Current);

            #region Legacy Code

            //Int32 headerPosition = request.Headers.FindHeader(HEADER_NAME,"");
            //if (headerPosition == -1)
            //{
            //    serverContext = new ServerContext();
            //    serverContext.Attach(OperationContext.Current);
            //    return;
            //}

            //XmlNode[] content = request.Headers.GetHeader<XmlNode[]>(headerPosition);

            //string text = content[0].InnerText;

            //XmlSerializer deserializer = new XmlSerializer(typeof(PoseHeader));
            //TextReader textReader = new StringReader(text);
            //PoseHeader customData = (PoseHeader)deserializer.Deserialize(textReader);
            //textReader.Close();

            //serverContext = new ServerContext(customData);
            //serverContext.Attach(OperationContext.Current);

            #endregion Legacy Code

            return;
        }
예제 #3
0
 public PoseHeaderMessage(PoseHeader customData)
 {
     CustomData = customData;
 }
예제 #4
0
 public void Read(Stream input, OWLib.STUD stud)
 {
     using (BinaryReader reader = new BinaryReader(input, System.Text.Encoding.Default, true)) {
         header = reader.Read <PoseHeader>();
     }
 }