Esempio n. 1
0
        private void ConfigureMultipart(RestSharp.RestRequest request,
                                        string fileParamName, RestMultipart restMultipart)
        {
            RestMultipart.RestMultipartType type = restMultipart.Type;
            switch (type)
            {
            case RestMultipart.RestMultipartType.FILE:
                string fileName = null;
                try
                {
                    fileName = restMultipart.Value;
                    using (var fileContent = new FileStream(fileName, FileMode.Open))
                    {
                        request.AddFile(fileName, fileContent.CopyTo, fileName,
                                        restMultipart.ContentType);
                    }

                    LOG.Info("Configure Multipart file upload paramName={0} :  ContentType={1} for  file={2} ",
                             new string[] { fileParamName, restMultipart.ContentType, fileName });
                    break;
                }
                catch (FileNotFoundException e)
                {
                    throw new System.ArgumentException("File not found: " + fileName, e);
                }

            case RestMultipart.RestMultipartType.STRING:
                // According to a comment on RestSharp issue 524,
                //  https://github.com/restsharp/RestSharp/issues/524 , it's only possible to
                //  add string data in multipart form data using ParameterType GetOrPost.
                //  ParameterType RequestBody doesn't work.
                request.AddParameter(fileParamName, restMultipart.Value,
                                     restMultipart.ContentType, ParameterType.GetOrPost);
                LOG.Info("Configure Multipart String upload paramName={0}:  ContentType={1} ",
                         fileParamName, restMultipart.ContentType);
                break;

            default:
                throw new System.ArgumentException("Unknonw Multipart Type: " + type);
                break;
            }
        }
Esempio n. 2
0
        public override bool Equals(object o)
        {
            if (this == o)
            {
                return(true);
            }
            if (!(o is RestMultipart))
            {
                return(false);
            }

            RestMultipart that = (RestMultipart)o;

            if (!_value.Equals(that._value))
            {
                return(false);
            }
            if (_contentType != null ? _contentType != that._contentType : that._contentType != null)
            {
                return(false);
            }
            return(_charset != null ? _charset == that._charset : that._charset == null);
        }