コード例 #1
0
        public async Task <IEnumerable <Guid> > Get()
        {
            var message = new MessageSubmit(Guid.NewGuid(), DateTime.Now);
            await publishEndpoint.Publish(message);

            return(new Guid[] { message.MessageId });
        }
コード例 #2
0
        public IEnumerable <Guid> Get()
        {
            var message = new MessageSubmit(Guid.NewGuid(), DateTime.Now);

            longTaskHandler.Publish(message);
            return(new Guid[] { message.MessageId });
        }
コード例 #3
0
        void TestOneMaxAttachment()
        {
            MessageSubmit msg = new MessageSubmit("stream", "<messageML>hello</messageML>");

            msg.AddAttachment("foo.csv", Encoding.ASCII.GetBytes("foo"));
            // second AddAttachment call will throw
            Assert.Throws <InvalidOperationException>(() => msg.AddAttachment("bar.csv", Encoding.ASCII.GetBytes("bar")));
        }
コード例 #4
0
        public Message PostMessage(MessageSubmit msg)
        {
            System.IO.Stream attachment = null;
            if (msg.Attachments != null)
            {
                attachment = msg.Attachments.Select(x => new NamedStream(x.Key, x.Value)).FirstOrDefault();
            }

            System.Func <string, string, string, string, string, string, System.IO.Stream, V4Message> func = (string a, string b, string c, string d, string e, string f, System.IO.Stream g) => _messagesApi.V4StreamSidMessageCreatePost(a, b, c, d, e, f, g);
            V4Message response = _apiExecutor.Execute(func, msg.StreamId, _authTokens.SessionToken, msg.Body, _authTokens.KeyManagerToken, msg.Data, null, attachment);

            return(MessageFactory.Create(response));
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: nikoganev/RestApiClient
        static void Main(string[] args)
        {
            ILoggerFactory loggerFactory = new LoggerFactory().AddConsole(LogLevel.Debug);

            ApiLogging.LoggerFactory = loggerFactory;

            // get the settings file that contains certificate and other information
            var settingsContents = File.ReadAllText("s:\\settings\\RestApiSettings.json");
            var settings         = JsonConvert.DeserializeObject <Settings>(settingsContents);

            var certBytes = Convert.FromBase64String(settings.certificate);
            X509Certificate2 certificate = new X509Certificate2(certBytes, settings.certificatePassword);

            var sessionManager  = new UserSessionManager(settings.sessionauthUrl, settings.keyauthUrl, certificate);
            var agentApiFactory = new AgentApiFactory(settings.agentUrl);


            var messagesApi = agentApiFactory.CreateMessagesApi(sessionManager);

            var messageSubmit = new MessageSubmit("4O97z9WiybT5llo1u43bWX___qOAkG-edA", "<messageML>hello</messageML>");

            messagesApi.PostMessage(messageSubmit);

            var datafeedApi = agentApiFactory.CreateDatafeedApi(sessionManager);

            datafeedApi.OnMessage += (sender, e) =>
            {
                var message = e.Message;
                Console.WriteLine(message.Body);
            };

            try
            {
                datafeedApi.Listen();
            } catch (Exception e)
            {
                Console.WriteLine(e);
            }
            Console.WriteLine("Hello World!");
        }
コード例 #6
0
        public Message PostMessage(MessageSubmit msg)
        {
            FileParameter attachment = null;

            if (msg.Attachments != null)
            {
                attachment = msg.Attachments.Select(x => new FileParameter(new MemoryStream(x.Value), x.Key)).FirstOrDefault();
            }

            try
            {
                System.Func <string, string, string, string, string, string, FileParameter, CancellationToken, Task <V4Message> > func = (string a, string b, string c, string d, string e, string f, FileParameter g, CancellationToken token) => _streamClient.V4MessageCreateAsync(a, b, c, d, e, f, g, token);
                V4Message response = _apiExecutor.Execute(func, msg.StreamId, _authTokens.SessionToken, msg.Body, _authTokens.KeyManagerToken, msg.Data, null, attachment);
                return(MessageFactory.Create(response));
            }
            catch (Exception e)
            {
                var streamId = msg.StreamId;
                _log?.LogError(0, e, "An error has occured while trying to post a message to stream {streamId}", streamId);
                throw;
            }
        }