Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / DataServiceRequestArgs.cs / 1305376 / DataServiceRequestArgs.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// This class represents additional metadata to be applied to a request
// sent from the client to a data service.
//
//---------------------------------------------------------------------
namespace System.Data.Services.Client
{
using System.Collections.Generic;
///
/// This class represent additional metadata to be applied to a request
/// sent from the client to a data service.
///
public class DataServiceRequestArgs
{
///
/// The headers collection for the request.
/// This is just a storage, no validation is done on this.
///
private readonly Dictionary headers;
///
/// Constructs a new DataServiceRequestArgs instance
///
public DataServiceRequestArgs()
{
this.headers = new Dictionary(EqualityComparer.Default);
}
///
/// Sets the mime type (ex. image/png) to be used when retrieving the stream.
/// Note that no validation is done on the contents of this property.
/// It is the responsibility of the user to format it correctly to be used
/// as the value of an HTTP Accept header.
///
public string AcceptContentType
{
get { return this.GetHeaderValue(XmlConstants.HttpRequestAccept); }
set { this.SetHeaderValue(XmlConstants.HttpRequestAccept, value); }
}
///
/// Sets the Content-Type header to be used when sending the stream to the server.
/// Note that no validation is done on the contents of this property.
/// It is the responsibility of the user to format it correctly to be used
/// as the value of an HTTP Content-Type header.
///
public string ContentType
{
get { return this.GetHeaderValue(XmlConstants.HttpContentType); }
set { this.SetHeaderValue(XmlConstants.HttpContentType, value); }
}
///
/// Sets the Slug header to be used when sending the stream to the server.
/// Note that no validation is done on the contents of this property.
/// It is the responsibility of the user to format it correctly to be used
/// as the value of an HTTP Slug header.
///
public string Slug
{
get { return this.GetHeaderValue(XmlConstants.HttpSlug); }
set { this.SetHeaderValue(XmlConstants.HttpSlug, value); }
}
///
/// Dictionary containing all the request headers to be used when retrieving the stream.
/// The user should take care so as to not alter an HTTP header which will change
/// the meaning of the request.
/// No validation is performed on the header names or values.
/// This class will not attempt to fix up any of the headers specified and
/// will try to use them "as is".
///
public Dictionary Headers
{
get { return this.headers; }
}
///
/// Helper to return a value of the header.
///
/// The name of the header to get.
/// The value of the header or null if the header is not set.
private string GetHeaderValue(string header)
{
string value;
if (!this.headers.TryGetValue(header, out value))
{
return null;
}
return value;
}
///
/// Helper to set a value of the header
///
/// The name of the header to set.
/// The value to set for the header. If this is null the header will be removed.
private void SetHeaderValue(string header, string value)
{
if (value == null)
{
if (this.headers.ContainsKey(header))
{
this.headers.Remove(header);
}
}
else
{
this.headers[header] = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// This class represents additional metadata to be applied to a request
// sent from the client to a data service.
//
//---------------------------------------------------------------------
namespace System.Data.Services.Client
{
using System.Collections.Generic;
///
/// This class represent additional metadata to be applied to a request
/// sent from the client to a data service.
///
public class DataServiceRequestArgs
{
///
/// The headers collection for the request.
/// This is just a storage, no validation is done on this.
///
private readonly Dictionary headers;
///
/// Constructs a new DataServiceRequestArgs instance
///
public DataServiceRequestArgs()
{
this.headers = new Dictionary(EqualityComparer.Default);
}
///
/// Sets the mime type (ex. image/png) to be used when retrieving the stream.
/// Note that no validation is done on the contents of this property.
/// It is the responsibility of the user to format it correctly to be used
/// as the value of an HTTP Accept header.
///
public string AcceptContentType
{
get { return this.GetHeaderValue(XmlConstants.HttpRequestAccept); }
set { this.SetHeaderValue(XmlConstants.HttpRequestAccept, value); }
}
///
/// Sets the Content-Type header to be used when sending the stream to the server.
/// Note that no validation is done on the contents of this property.
/// It is the responsibility of the user to format it correctly to be used
/// as the value of an HTTP Content-Type header.
///
public string ContentType
{
get { return this.GetHeaderValue(XmlConstants.HttpContentType); }
set { this.SetHeaderValue(XmlConstants.HttpContentType, value); }
}
///
/// Sets the Slug header to be used when sending the stream to the server.
/// Note that no validation is done on the contents of this property.
/// It is the responsibility of the user to format it correctly to be used
/// as the value of an HTTP Slug header.
///
public string Slug
{
get { return this.GetHeaderValue(XmlConstants.HttpSlug); }
set { this.SetHeaderValue(XmlConstants.HttpSlug, value); }
}
///
/// Dictionary containing all the request headers to be used when retrieving the stream.
/// The user should take care so as to not alter an HTTP header which will change
/// the meaning of the request.
/// No validation is performed on the header names or values.
/// This class will not attempt to fix up any of the headers specified and
/// will try to use them "as is".
///
public Dictionary Headers
{
get { return this.headers; }
}
///
/// Helper to return a value of the header.
///
/// The name of the header to get.
/// The value of the header or null if the header is not set.
private string GetHeaderValue(string header)
{
string value;
if (!this.headers.TryGetValue(header, out value))
{
return null;
}
return value;
}
///
/// Helper to set a value of the header
///
/// The name of the header to set.
/// The value to set for the header. If this is null the header will be removed.
private void SetHeaderValue(string header, string value)
{
if (value == null)
{
if (this.headers.ContainsKey(header))
{
this.headers.Remove(header);
}
}
else
{
this.headers[header] = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DBConcurrencyException.cs
- ServiceModelReg.cs
- FixedSOMTableRow.cs
- BitmapSourceSafeMILHandle.cs
- InputLanguageCollection.cs
- Column.cs
- Quaternion.cs
- WebBrowserHelper.cs
- regiisutil.cs
- MenuItemCollection.cs
- IriParsingElement.cs
- Crypto.cs
- SystemSounds.cs
- PenLineJoinValidation.cs
- Matrix.cs
- XmlImplementation.cs
- EventWaitHandle.cs
- DataGridViewIntLinkedList.cs
- ECDiffieHellmanCng.cs
- XamlSerializationHelper.cs
- FastPropertyAccessor.cs
- TemplateBuilder.cs
- AdvancedBindingEditor.cs
- GroupBox.cs
- QilGeneratorEnv.cs
- DateTimeFormat.cs
- StringArrayConverter.cs
- EllipseGeometry.cs
- DataSetViewSchema.cs
- ThaiBuddhistCalendar.cs
- StorageEntityTypeMapping.cs
- TrustManagerMoreInformation.cs
- PixelFormats.cs
- XmlQueryType.cs
- NominalTypeEliminator.cs
- ZipIOFileItemStream.cs
- ParserOptions.cs
- DataGridViewCellConverter.cs
- CapabilitiesPattern.cs
- GZipUtils.cs
- PointHitTestParameters.cs
- CapiNative.cs
- SystemUnicastIPAddressInformation.cs
- RadioButtonAutomationPeer.cs
- MenuItemBindingCollection.cs
- EventsTab.cs
- StringUtil.cs
- SynchronizedMessageSource.cs
- SyndicationDeserializer.cs
- RuleDefinitions.cs
- IndexerNameAttribute.cs
- HtmlControlAdapter.cs
- ObjectRef.cs
- FileSystemInfo.cs
- SearchForVirtualItemEventArgs.cs
- FlowLayoutPanel.cs
- TraceHandlerErrorFormatter.cs
- CqlQuery.cs
- VectorAnimationBase.cs
- ParameterModifier.cs
- TreeNodeEventArgs.cs
- PackagingUtilities.cs
- ChannelDispatcher.cs
- DoubleCollectionConverter.cs
- ContextToken.cs
- MethodCallTranslator.cs
- ColumnTypeConverter.cs
- MainMenu.cs
- MetadataPropertyvalue.cs
- hresults.cs
- HGlobalSafeHandle.cs
- SplitterCancelEvent.cs
- AsymmetricKeyExchangeDeformatter.cs
- smtpconnection.cs
- Point3D.cs
- OpCodes.cs
- SQLChars.cs
- LockedActivityGlyph.cs
- SqlTrackingQuery.cs
- UnmanagedMemoryStreamWrapper.cs
- Nullable.cs
- ApplicationServiceManager.cs
- Stylus.cs
- OptimalTextSource.cs
- ConnectionInterfaceCollection.cs
- CompilerState.cs
- StringSorter.cs
- DataGridViewCellStateChangedEventArgs.cs
- AsyncStreamReader.cs
- ExternalException.cs
- MsiStyleLogWriter.cs
- XamlHostingConfiguration.cs
- FixedFindEngine.cs
- DrawingVisualDrawingContext.cs
- DataGridColumn.cs
- TabPage.cs
- CallContext.cs
- StandardToolWindows.cs
- MarkupProperty.cs
- StylusEventArgs.cs