protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = OperationType; requestState.httpMethod = HTTPMethod.Patch; var cub = new { id = ChannelToUse, name = ChannelMetadataName, description = ChannelMetadataDescription, custom = ChannelMetadataCustom, }; string jsonUserBody = Helpers.JsonEncodePublishMsg(cub, "", this.PubNubInstance.JsonLibrary, this.PubNubInstance.PNLog); #if (ENABLE_PUBNUB_LOGGING) this.PubNubInstance.PNLog.WriteToLog(string.Format("jsonUserBody: {0}", jsonUserBody), PNLoggingMethod.LevelInfo); #endif requestState.POSTData = jsonUserBody; string[] includeString = (ChannelMetadataInclude == null) ? new string[] {} : ChannelMetadataInclude.Select(a => a.GetDescription().ToString()).ToArray(); Uri request = BuildRequests.BuildObjectsSetChannelMetadataRequest( ChannelToUse, string.Join(",", includeString), this.PubNubInstance, this.QueryParams ); request = this.PubNubInstance.TokenMgr.AppendTokenToURL(request.OriginalString, ChannelToUse, PNResourceType.PNChannelMetadata, OperationType); base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }