protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = OperationType; string jsonMessage = (publishAsIs) ? PublishMessage.ToString() : Helpers.JsonEncodePublishMsg(PublishMessage, this.PubNubInstance.PNConfig.CipherKey, this.PubNubInstance.JsonLibrary, this.PubNubInstance.PNLog); string jsonMetadata = string.Empty; if (this.Metadata != null) { jsonMetadata = Helpers.JsonEncodePublishMsg(this.Metadata, "", this.PubNubInstance.JsonLibrary, this.PubNubInstance.PNLog); } if (UsePostMethod) { requestState.httpMethod = HTTPMethod.Post; requestState.POSTData = jsonMessage; } Uri request = BuildRequests.BuildPublishRequest( this.PublishChannel, jsonMessage, this.ShouldStoreInHistory, jsonMetadata, publishCounter, this.PublishTtl, UsePostMethod, this.ReplicateMessage, this.PubNubInstance, this.QueryParams ); base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }