set connect access token

This commit is contained in:
Luke Pulverenti 2014-09-02 22:30:05 -04:00
parent 6fd05670ac
commit a3d553a7fb
5 changed files with 33 additions and 11 deletions

View File

@ -399,11 +399,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
/// <returns>stream on success, null on failure</returns> /// <returns>stream on success, null on failure</returns>
public async Task<Stream> Post(HttpRequestOptions options, Dictionary<string, string> postData) public async Task<Stream> Post(HttpRequestOptions options, Dictionary<string, string> postData)
{ {
var strings = postData.Keys.Select(key => string.Format("{0}={1}", key, postData[key])); options.SetPostData(postData);
var postContent = string.Join("&", strings.ToArray());
options.RequestContent = postContent;
options.RequestContentType = "application/x-www-form-urlencoded";
var response = await Post(options).ConfigureAwait(false); var response = await Post(options).ConfigureAwait(false);

View File

@ -122,7 +122,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup /> <ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition=" '$(ConfigurationName)' != 'Release Mono' " /> <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<PropertyGroup> <PropertyGroup>
<PostBuildEvent Condition=" '$(ConfigurationName)' != 'Release Mono' ">if '$(ConfigurationName)' == 'Release' ( <PostBuildEvent Condition=" '$(ConfigurationName)' != 'Release Mono' ">if '$(ConfigurationName)' == 'Release' (
xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\" /y /d /r /i xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\" /y /d /r /i

View File

@ -116,7 +116,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup /> <ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition=" '$(ConfigurationName)' != 'Release Mono' " /> <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<PropertyGroup> <PropertyGroup>
<PostBuildEvent Condition=" '$(ConfigurationName)' != 'Release Mono' ">if '$(ConfigurationName)' == 'Release' ( <PostBuildEvent Condition=" '$(ConfigurationName)' != 'Release Mono' ">if '$(ConfigurationName)' == 'Release' (
xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\" /y /d /r /i xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\" /y /d /r /i

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading; using System.Threading;
namespace MediaBrowser.Common.Net namespace MediaBrowser.Common.Net
@ -111,5 +112,14 @@ namespace MediaBrowser.Common.Net
LogRequest = true; LogRequest = true;
} }
public void SetPostData(IDictionary<string,string> values)
{
var strings = values.Keys.Select(key => string.Format("{0}={1}", key, values[key]));
var postContent = string.Join("&", strings.ToArray());
RequestContent = postContent;
RequestContentType = "application/x-www-form-urlencoded";
}
} }
} }

View File

@ -10,7 +10,6 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.IO; using System.IO;
using System.Net;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -113,7 +112,12 @@ namespace MediaBrowser.Server.Implementations.Connect
{ {
var url = "Servers"; var url = "Servers";
url = GetConnectUrl(url); url = GetConnectUrl(url);
var postData = new Dictionary<string, string> {{"name", _appHost.FriendlyName}, {"url", wanApiAddress}};
var postData = new Dictionary<string, string>
{
{"name", _appHost.FriendlyName},
{"url", wanApiAddress}
};
using (var stream = await _httpClient.Post(url, postData, CancellationToken.None).ConfigureAwait(false)) using (var stream = await _httpClient.Post(url, postData, CancellationToken.None).ConfigureAwait(false))
{ {
@ -131,12 +135,24 @@ namespace MediaBrowser.Server.Implementations.Connect
var url = "Servers"; var url = "Servers";
url = GetConnectUrl(url); url = GetConnectUrl(url);
url += "?id=" + ConnectServerId; url += "?id=" + ConnectServerId;
var postData = new Dictionary<string, string> {{"name", _appHost.FriendlyName}, {"url", wanApiAddress}};
// TODO: Add Access-Key http request header // TODO: Add Access-Key http request header
var options = new HttpRequestOptions
{
Url = url,
CancellationToken = CancellationToken.None
};
options.SetPostData(new Dictionary<string, string>
{
{"name", _appHost.FriendlyName},
{"url", wanApiAddress}
});
options.RequestHeaders.Add("X-Connect-Token", ConnectAccessKey);
// No need to examine the response // No need to examine the response
using (var stream = await _httpClient.Post(url, postData, CancellationToken.None).ConfigureAwait(false)) using (var stream = (await _httpClient.Post(options).ConfigureAwait(false)).Content)
{ {
} }
} }