System.Net.WebConnection.Write C# (CSharp) Method

Write() private method

private Write ( HttpWebRequest request, byte buffer, int offset, int size, string &err_msg ) : bool
request HttpWebRequest
buffer byte
offset int
size int
err_msg string
return bool
		internal bool Write (HttpWebRequest request, byte [] buffer, int offset, int size, ref string err_msg)
		{
			err_msg = null;
			lock (this) {
				if (Data.request != request)
					throw new ObjectDisposedException (typeof (NetworkStream).FullName);
				if (nstream == null)
					return false;
			}

			try {
				nstream.Write (buffer, offset, size);
				// here SSL handshake should have been done
				if (ssl && !certsAvailable)
					GetCertificates ();
			} catch (Exception e) {
				err_msg = e.Message;
				WebExceptionStatus wes = WebExceptionStatus.SendFailure;
				string msg = "Write: " + err_msg;
				if (e is WebException) {
					HandleError (wes, e, msg);
					return false;
				}

				// if SSL is in use then check for TrustFailure
				if (ssl && (bool) piTrustFailure.GetValue (nstream, null)) {
					wes = WebExceptionStatus.TrustFailure;
					msg = "Trust failure";
				}

				HandleError (wes, e, msg);
				return false;
			}
			return true;
		}

Usage Example

Esempio n. 1
0
        internal void SetHeaders(byte [] buffer, int offset, int size)
        {
            if (headersSent)
            {
                return;
            }

            if (!allowBuffering || sendChunked)
            {
                headersSent = true;
                if (!cnc.Connected)
                {
                    throw new WebException("Not connected", null, WebExceptionStatus.SendFailure, null);
                }


                if (!cnc.Write(buffer, offset, size))
                {
                    throw new WebException("Error writing request.", null, WebExceptionStatus.SendFailure, null);
                }

                if (!initRead)
                {
                    initRead = true;
                    WebConnection.InitRead(cnc);
                }
            }
            else
            {
                headers = new byte [size];
                Buffer.BlockCopy(buffer, offset, headers, 0, size);
            }
        }
All Usage Examples Of System.Net.WebConnection::Write