/// <summary> /// Sets the request context for the thread. /// </summary> /// <param name="encoding">The encoding.</param> protected void SetRequestContext(RequestEncoding encoding) { // fetch the current operation context. OperationContext context = OperationContext.Current; if (context != null) { int firstRequestReceived = Interlocked.CompareExchange(ref m_firstRequestReceived, 1, 0); if (firstRequestReceived == 0 && context.Channel != null && !String.IsNullOrEmpty(context.Channel.SessionId)) { Opc.Ua.Security.Audit.SecureChannelCreated( g_ImplementationString, context.Channel.LocalAddress.Uri.ToString(), context.Channel.SessionId, m_endpointDescription, context.Host.Credentials.ClientCertificate.Certificate, context.Host.Credentials.ServiceCertificate.Certificate, (encoding == RequestEncoding.Binary) ? BinaryEncodingSupport.Required : BinaryEncodingSupport.None); } SecureChannelContext requestContext = new SecureChannelContext( context.Channel.SessionId, m_endpointDescription, encoding); SecureChannelContext.Current = requestContext; } }
public TestCase(string name, string description, string httpRequest, string queryParams = "", RequestEncoding encoding = RequestEncoding.ASCII, bool https = true) { Name = name; Description = description; HttpRequest = httpRequest; QueryParams = queryParams; Encoding = encoding; Https = https; }
/// <summary> /// Initializes a new instance with the specified property values. /// </summary> /// <param name="secureChannelId">The secure channel identifier.</param> /// <param name="endpointDescription">The endpoint description.</param> /// <param name="messageEncoding">The message encoding.</param> public SecureChannelContext( string secureChannelId, EndpointDescription endpointDescription, RequestEncoding messageEncoding) { m_secureChannelId = secureChannelId; m_endpointDescription = endpointDescription; m_messageEncoding = messageEncoding; }
public void TestRequestEncodingNoRepsonseSet() { var tag = new RequestEncoding(); tag.Value = new MockAttribute(new Constant("UTF-8")); var model = new TagModel(this); Assert.That(tag.Evaluate(model), Is.EqualTo(String.Empty)); Assert.That(model.Encoding, Is.EqualTo(Encoding.UTF8)); }
public void TestResponseOnMock() { var tag = new RequestEncoding(); var response = new MockResponse(); var model = new TagModel(this, new MockSessionState(), null, response); tag.Value = new MockAttribute(new Constant("UTF-7")); Assert.IsNull(response.ResponseEncoding); tag.Evaluate(model); Assert.That(response.ResponseEncoding, Is.EqualTo(Encoding.UTF7)); }
//WebSMS Servisi, HASH Olusturma prosedürü private string HashWithHmac(string message, string key) { //HMAC-SHA1 Hashlemesi kullaniyoruz. var keyBytes = RequestEncoding.GetBytes(key); var algorithm = new HMACSHA1(keyBytes); var messageBytes = RequestEncoding.GetBytes(message); algorithm.ComputeHash(messageBytes); return(ByteToString(algorithm.Hash)); }
public string GetRequestBodyAsString() { if (RequestLocked) { throw new Exception("You cannot call this function after request is made to server."); } ReadRequestBody(); return(RequestBodyString ?? (RequestBodyString = RequestEncoding.GetString(RequestBody))); }
public byte[] BuildSegment(string httpRequest, RequestEncoding encoding = RequestEncoding.ASCII) { return(encoding switch { RequestEncoding.ASCII => Encoding.ASCII.GetBytes(httpRequest), RequestEncoding.Unicode => Encoding.Unicode.GetBytes(httpRequest), RequestEncoding.UTF7 => Encoding.UTF7.GetBytes(httpRequest), RequestEncoding.UTF8 => Encoding.UTF8.GetBytes(httpRequest), RequestEncoding.UTF32 => Encoding.UTF32.GetBytes(httpRequest), RequestEncoding.BigEndianUnicode => Encoding.BigEndianUnicode.GetBytes(httpRequest), _ => Encoding.ASCII.GetBytes(httpRequest), });
/// <summary> /// Initializes a new instance with the specified property values. /// </summary> /// <param name="secureChannelId">The secure channel identifier.</param> /// <param name="endpointDescription">The endpoint description.</param> /// <param name="messageEncoding">The message encoding.</param> public SecureChannelContext( string secureChannelId, EndpointDescription endpointDescription, RequestEncoding messageEncoding, IPAddress remoteIP, // HONEYPOT int remotePort) // HONEYPOT { m_secureChannelId = secureChannelId; m_endpointDescription = endpointDescription; m_messageEncoding = messageEncoding; m_remoteIP = remoteIP; // HONEYPOT m_remotePort = remotePort; // HONEYPOT }
public void SetRequestBodyString(string body) { if (RequestLocked) { throw new Exception("Youcannot call this function after request is made to server."); } if (!RequestBodyRead) { ReadRequestBody(); } RequestBody = RequestEncoding.GetBytes(body); RequestBodyRead = true; }
public static Entry For(RequestEncoding encoding) { String encodingText = null; switch (encoding) { case RequestEncoding.Binary: encodingText = "Binary"; break; case RequestEncoding.Xml: encodingText = "XML"; break; } return(new StringEntry(encodingText)); }
public void CheckUrlRequired() { var tag = new RequestEncoding(); try { RequiredAttribute.Check(tag); Assert.Fail("Expected exception"); } catch (TagException Te) { Assert.That(Te.Message, Is.EqualTo(TagException.MissingRequiredAttribute(typeof(RequestEncoding), "Value").Message)); } tag.Value = new MockAttribute(new Constant(Encoding.ASCII.ToString())); RequiredAttribute.Check(tag); }
/// <summary> /// Sets the request context for the thread. /// </summary> /// <param name="encoding">The encoding.</param> protected void SetRequestContext(RequestEncoding encoding) { // fetch the current operation context. OperationContext context = OperationContext.Current; if (context != null) { int firstRequestReceived = Interlocked.CompareExchange(ref m_firstRequestReceived, 1, 0); if (firstRequestReceived == 0 && context.Channel != null && !String.IsNullOrEmpty(context.Channel.SessionId)) { Opc.Ua.Security.Audit.SecureChannelCreated( g_ImplementationString, context.Channel.LocalAddress.Uri.ToString(), context.Channel.SessionId, m_endpointDescription, context.Host.Credentials.ClientCertificate.Certificate, context.Host.Credentials.ServiceCertificate.Certificate, (encoding == RequestEncoding.Binary)?BinaryEncodingSupport.Required:BinaryEncodingSupport.None); } SecureChannelContext requestContext = new SecureChannelContext( context.Channel.SessionId, m_endpointDescription, encoding); SecureChannelContext.Current = requestContext; } }
public async void SendAsync(Stream stream, string httpRequest, string requestBody, RequestEncoding encoding = RequestEncoding.ASCII) { var headerBytes = BuildSegment(httpRequest, encoding); await stream.WriteAsync(headerBytes, 0, headerBytes.Length); var bodyBytes = BuildSegment(requestBody); await stream.WriteAsync(bodyBytes, 0, bodyBytes.Length); }
/// <summary>${mapping_GetWMTSCapabilities_constructor_string_D}</summary> public GetWMTSCapabilities(string url, RequestEncoding encoding) : this() { this.Url = url; this.RequestEncoding = encoding; }
/// <summary> /// Sets the request context for the thread. /// </summary> /// <param name="encoding">The encoding.</param> protected void SetRequestContext(RequestEncoding encoding) { // fetch the current operation context. OperationContext context = OperationContext.Current; }
public async Task SendAsync(Stream stream, string httpRequest, RequestEncoding encoding = RequestEncoding.ASCII) { var headerBytes = BuildSegment(httpRequest, encoding); await stream.WriteAsync(headerBytes, 0, headerBytes.Length); }
/// <summary> /// Sets the request context for the thread. /// </summary> /// <param name="encoding">The encoding.</param> protected void SetRequestContext(RequestEncoding encoding) { }
public async Task <string> HttpRequestAsync(string httpRequest, string host, bool https = true, RequestEncoding encoding = RequestEncoding.ASCII) { using var tcpClient = new System.Net.Sockets.TcpClient(host, https ? 443 : 80); if (https) { using SslStream stream = new SslStream(tcpClient.GetStream()); tcpClient.SendTimeout = 500; tcpClient.ReceiveTimeout = 1000; await stream.AuthenticateAsClientAsync(host); await SendAsync(stream, httpRequest, encoding); var result = await ResponseAsync(stream, host); return(result); } else { using NetworkStream stream = tcpClient.GetStream(); tcpClient.SendTimeout = 500; tcpClient.ReceiveTimeout = 1000; await SendAsync(stream, httpRequest); var result = await ResponseAsync(stream, host); return(result); } }