76 lines
2.3 KiB
C#
76 lines
2.3 KiB
C#
//Copyright 2010 Microsoft Corporation
|
|
//
|
|
//Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
|
|
//You may obtain a copy of the License at
|
|
//
|
|
//http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
//Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
|
|
//"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
//See the License for the specific language governing permissions and limitations under the License.
|
|
|
|
|
|
namespace System.Data.Services.Client
|
|
{
|
|
using System.Collections.Generic;
|
|
|
|
public class DataServiceRequestArgs
|
|
{
|
|
private readonly Dictionary<string, string> headers;
|
|
|
|
public DataServiceRequestArgs()
|
|
{
|
|
this.headers = new Dictionary<string, string>(EqualityComparer<string>.Default);
|
|
}
|
|
|
|
public string AcceptContentType
|
|
{
|
|
get { return this.GetHeaderValue(XmlConstants.HttpRequestAccept); }
|
|
set { this.SetHeaderValue(XmlConstants.HttpRequestAccept, value); }
|
|
}
|
|
|
|
public string ContentType
|
|
{
|
|
get { return this.GetHeaderValue(XmlConstants.HttpContentType); }
|
|
set { this.SetHeaderValue(XmlConstants.HttpContentType, value); }
|
|
}
|
|
|
|
public string Slug
|
|
{
|
|
get { return this.GetHeaderValue(XmlConstants.HttpSlug); }
|
|
set { this.SetHeaderValue(XmlConstants.HttpSlug, value); }
|
|
}
|
|
|
|
public Dictionary<string, string> Headers
|
|
{
|
|
get { return this.headers; }
|
|
}
|
|
|
|
private string GetHeaderValue(string header)
|
|
{
|
|
string value;
|
|
if (!this.headers.TryGetValue(header, out value))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return value;
|
|
}
|
|
|
|
private void SetHeaderValue(string header, string value)
|
|
{
|
|
if (value == null)
|
|
{
|
|
if (this.headers.ContainsKey(header))
|
|
{
|
|
this.headers.Remove(header);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.headers[header] = value;
|
|
}
|
|
}
|
|
}
|
|
}
|