From 50a7ffe300d64f4ef74823c847abe484d2e8ef3a Mon Sep 17 00:00:00 2001 From: Tobias Klika Date: Wed, 19 Nov 2014 21:29:48 +0100 Subject: [PATCH] import OPML --- FeedlySharp/Endpoints/OPML.cs | 11 +++++++++-- FeedlySharp/FeedlyHttpClient.cs | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/FeedlySharp/Endpoints/OPML.cs b/FeedlySharp/Endpoints/OPML.cs index 3dbd443..dc24bd6 100644 --- a/FeedlySharp/Endpoints/OPML.cs +++ b/FeedlySharp/Endpoints/OPML.cs @@ -16,9 +16,16 @@ namespace FeedlySharp } - public async Task ImportOPML(string opml, CancellationToken cancellationToken = default(CancellationToken)) + public async Task ImportOPML(string opml, CancellationToken cancellationToken = default(CancellationToken)) { - throw new NotImplementedException(); + HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "v3/opml"); + request.Content = new StringContent(opml); + request.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("text/xml"); + request.Headers.Add("Authorization", String.Format("OAuth {0}", AccessToken)); + request.Headers.TryAddWithoutValidation("Accept", "text/xml"); + + await Client.Request(request, cancellationToken); + return true; } } } diff --git a/FeedlySharp/FeedlyHttpClient.cs b/FeedlySharp/FeedlyHttpClient.cs index 22ef2b7..d91478d 100644 --- a/FeedlySharp/FeedlyHttpClient.cs +++ b/FeedlySharp/FeedlyHttpClient.cs @@ -59,8 +59,6 @@ namespace FeedlySharp ) { HttpRequestMessage request = new HttpRequestMessage(method, requestUri); - HttpResponseMessage response = null; - string responseString = null; // content of the request if (body != null && !bodyAsJson) @@ -78,6 +76,15 @@ namespace FeedlySharp request.Headers.Add("Authorization", String.Format("OAuth {0}", AccessToken)); } + return await Request(request, cancellationToken); + } + + + public async Task Request(HttpRequestMessage request, CancellationToken cancellationToken = default(CancellationToken)) + { + HttpResponseMessage response = null; + string responseString = null; + // make async request try {