コード例 #1
0
        public Either <IError, CreateLambdaDto> CreateLambda(CreateLambdaDto createlambda)
        {
            var memoryStream = new MemoryStream();

            createlambda.File.OpenReadStream().CopyTo(memoryStream);


            Message <LambdaMessage> message = new Message <LambdaMessage>("CreateLambda")
            {
                Data = new LambdaMessage()
                {
                    Name    = createlambda.Name,
                    Trigger = createlambda.Trigger,
                    Runtime = createlambda.Runtime,
                    OwnerId = "",
                    ImageId = "",
                    Guid    = ""
                },
                Bytes = new NetMQFrame(memoryStream.ToArray())
            };

            NetMQMessage response = RequestSocketFactory.SendRequest(message.ToNetMQMessage());

            string responseTopic = response.First.ConvertToString();

            if (responseTopic == "Response")
            {
                Message <LambdaMessage> successMessage = new Message <LambdaMessage>(response);
                return(new Right <IError, CreateLambdaDto>(LambdaConverter.LambdaMessageToDto(successMessage.Data)));
            }

            return(new Left <IError, CreateLambdaDto>(GetError(response)));
        }
コード例 #2
0
 public IActionResult Create([FromForm] CreateLambdaDto dto)
 {
     return(_lambdaService.CreateLambda(dto)
            .Map((id) => AllOk(id)) //return lambda id
            .Reduce(NotFoundErrorHandler, e => e is NotFoundError)
            .Reduce(InternalServisErrorHandler));
 }