public async Task <IODataAdapter> ResolveAdapterAsync(CancellationToken cancellationToken) { if (!this.MetadataCache.IsResolved()) { IODataAdapter adapter; if (string.IsNullOrEmpty(this.Settings.MetadataDocument)) { var response = await SendMetadataRequestAsync(cancellationToken); this.MetadataCache.SetMetadataDocument(await _adapterFactory.GetMetadataDocumentAsync(response)); adapter = await _adapterFactory.CreateAdapterAsync(response); } else { this.MetadataCache.SetMetadataDocument(this.Settings.MetadataDocument); adapter = _adapterFactory.CreateAdapter(this.Settings.MetadataDocument); } _createAdapter = () => adapter; } if (this.Settings.PayloadFormat == ODataPayloadFormat.Unspecified) { this.Settings.PayloadFormat = this.Adapter.DefaultPayloadFormat; } return(this.Adapter); }
public async Task <IODataAdapter> ResolveAdapterAsync(CancellationToken cancellationToken) { if (!this.MetadataCache.IsResolved()) { var response = await _adapterFactory.SendMetadataRequestAsync(cancellationToken); this.MetadataCache.SetMetadataString(await _adapterFactory.GetMetadataAsStringAsync(response)); var adapter = await _adapterFactory.CreateAdapterAsync(response); _createAdapter = () => adapter; } if (this.Settings.PayloadFormat == ODataPayloadFormat.Unspecified) { this.Settings.PayloadFormat = this.Adapter.DefaultPayloadFormat; } return(this.Adapter); }