protected Linkback(IHttpWebRequestImplementation implementation) { this.HttpWebRequestAbstraction = new HttpWebRequestAbstraction(implementation); }
public void LinkbackSendParameters_SetupRequestForTrackback_Url_Null_Throws_InvalidOperationException() { var parameters = new LinkbackSendParameters(); var requestImplementation = new Mock<IHttpWebRequestImplementation>(); var request = new HttpWebRequestAbstraction(requestImplementation.Object); Assert.Throws<InvalidOperationException>(() => { parameters.SetupRequestForTrackback(request); }); }
protected abstract void SetupRequest(HttpWebRequestAbstraction request, LinkbackSendParameters parameters);
public void LinkbackSendParameters_SetupRequestForPingback_TargetUrl_Null_Throws_InvalidOperationException() { var parameters = new LinkbackSendParameters(); parameters.SourceUrl = new Uri("http://localhost"); parameters.TargetUrl = null; var requestImplementation = new Mock<IHttpWebRequestImplementation>(); var request = new HttpWebRequestAbstraction(requestImplementation.Object); Assert.Throws<InvalidOperationException>(() => { parameters.SetupRequestForPingback(request); }); }
public void SetupRequestForPingback(HttpWebRequestAbstraction request) { if (SourceUrl == null) { throw new InvalidOperationException("SourceUrl is null"); } if (TargetUrl == null) { throw new InvalidOperationException("TargetUrl is null"); } string post_content = String.Format(CultureInfo.InvariantCulture, "<?xml version=\"1.0\"?><methodCall><methodName>pingback.ping</methodName><params><param><value><string>{0}</string></value></param><param><value><string>{1}</string></value></param></params></methodCall>", SourceUrl.AbsoluteUri, TargetUrl.AbsoluteUri); byte[] post_bytes = new UTF8Encoding().GetBytes(post_content); request.Method = "POST"; request.ContentType = "text/xml"; request.ContentLength = post_bytes.Length; using (Stream writeStream = request.GetRequestStream()) { writeStream.Write(post_bytes, 0, post_bytes.Length); } }
public void SetupRequestForTrackback(HttpWebRequestAbstraction request) { string post_content = BuildPostContent(); byte[] post_bytes = new UTF8Encoding().GetBytes(post_content); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = post_bytes.Length; using (Stream writeStream = request.GetRequestStream()) { writeStream.Write(post_bytes, 0, post_bytes.Length); } }
protected override void SetupRequest(HttpWebRequestAbstraction request, LinkbackSendParameters parameters) { parameters.SetupRequestForPingback(request); }