Skip to content

Commit 0aca51c

Browse files
committed
FileParameter: Mark the obsoleted property as NOT CLSCompliant to reduce warnings..
RequestContent: Don't use obsoleted property. RestClientOptions*: use new RedirectOptions class instead for FollowRedirects.
1 parent 190d207 commit 0aca51c

File tree

4 files changed

+42
-31
lines changed

4 files changed

+42
-31
lines changed

src/RestSharp/Options/RestClientOptions.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public RestClientOptions(string baseUrl) : this(new Uri(Ensure.NotEmptyString(ba
5959
? ResponseStatus.Completed
6060
: ResponseStatus.Error;
6161

62-
/// <summary>
62+
/// <summary>s
6363
/// Authenticator that will be used to populate request with necessary authentication data
6464
/// </summary>
6565
public IAuthenticator? Authenticator { get; set; }
@@ -128,10 +128,22 @@ public RestClientOptions(string baseUrl) : this(new Uri(Ensure.NotEmptyString(ba
128128
/// </summary>
129129
public CacheControlHeaderValue? CachePolicy { get; set; }
130130

131+
/// <summary>
132+
/// Policy settings for redirect processing
133+
/// </summary>
134+
public RestClientRedirectionOptions RedirectOptions { get; set; } = new RestClientRedirectionOptions();
135+
131136
/// <summary>
132137
/// Instruct the client to follow redirects. Default is true.
133138
/// </summary>
134-
public bool FollowRedirects { get; set; } = true;
139+
public bool FollowRedirects {
140+
get {
141+
return RedirectOptions.FollowRedirects;
142+
}
143+
set {
144+
RedirectOptions.FollowRedirects = value;
145+
}
146+
}
135147

136148
/// <summary>
137149
/// Gets or sets a value that indicates if the <see langword="Expect" /> header for an HTTP request contains Continue.
Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,34 @@
11
using RestSharp.Extensions;
2-
using System;
3-
using System.Collections.Generic;
42
using System.Net;
53
using System.Reflection;
6-
using System.Text;
74

8-
namespace RestSharp.Options {
9-
[GenerateImmutable]
10-
public class RestClientRedirectionOptions {
11-
static readonly Version Version = new AssemblyName(typeof(RestClientOptions).Assembly.FullName!).Version!;
5+
namespace RestSharp;
126

13-
public bool FollowRedirects { get; set; } = true;
14-
public bool FollowRedirectsToInsecure { get; set; } = false;
15-
public bool ForwardHeaders { get; set; } = true;
16-
public bool ForwardAuthorization { get; set; } = false;
17-
public bool ForwardCookies { get; set; } = true;
18-
public bool ForwardBody { get; set; } = true;
19-
public bool ForwardQuery { get; set; } = true;
20-
public int MaxRedirects { get; set; }
21-
public bool ForwardFragment { get; set; } = true;
22-
public IReadOnlyList<HttpStatusCode> RedirectStatusCodes { get; set; }
7+
[GenerateImmutable]
8+
public class RestClientRedirectionOptions {
9+
static readonly Version Version = new AssemblyName(typeof(RestClientOptions).Assembly.FullName!).Version!;
2310

24-
public RestClientRedirectionOptions() {
25-
RedirectStatusCodes = new List<HttpStatusCode>() {
26-
HttpStatusCode.MovedPermanently,
27-
HttpStatusCode.SeeOther,
28-
HttpStatusCode.TemporaryRedirect,
29-
HttpStatusCode.Redirect,
30-
#if NET
31-
HttpStatusCode.PermanentRedirect,
32-
#endif
33-
}.AsReadOnly();
34-
}
11+
public bool FollowRedirects { get; set; } = true;
12+
public bool FollowRedirectsToInsecure { get; set; } = false;
13+
public bool ForwardHeaders { get; set; } = true;
14+
public bool ForwardAuthorization { get; set; } = false;
15+
public bool ForwardCookies { get; set; } = true;
16+
public bool ForwardBody { get; set; } = true;
17+
public bool ForwardQuery { get; set; } = true;
18+
public int MaxRedirects { get; set; }
19+
public bool ForwardFragment { get; set; } = true;
20+
public IReadOnlyList<HttpStatusCode> RedirectStatusCodes { get; set; }
21+
22+
public RestClientRedirectionOptions() {
23+
RedirectStatusCodes = new List<HttpStatusCode>() {
24+
HttpStatusCode.MovedPermanently,
25+
HttpStatusCode.SeeOther,
26+
HttpStatusCode.TemporaryRedirect,
27+
HttpStatusCode.Redirect,
28+
#if NET
29+
HttpStatusCode.PermanentRedirect,
30+
#endif
31+
}.AsReadOnly();
3532
}
3633
}
34+

src/RestSharp/Parameters/FileParameter.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ public static FileParameter FromFile(
114114
[PublicAPI]
115115
public class FileParameterOptions {
116116
[Obsolete("Use DisableFilenameStar instead")]
117+
[CLSCompliant(false)]
117118
public bool DisableFileNameStar {
118119
get => DisableFilenameStar;
119120
set => DisableFilenameStar = value;

src/RestSharp/Request/RequestContent.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ StreamContent ToStreamContent(FileParameter fileParameter) {
8383
var dispositionHeader = fileParameter.Options.DisableFilenameEncoding
8484
? ContentDispositionHeaderValue.Parse($"form-data; name=\"{fileParameter.Name}\"; filename=\"{fileParameter.FileName}\"")
8585
: new ContentDispositionHeaderValue("form-data") { Name = $"\"{fileParameter.Name}\"", FileName = $"\"{fileParameter.FileName}\"" };
86-
if (!fileParameter.Options.DisableFileNameStar) dispositionHeader.FileNameStar = fileParameter.FileName;
86+
if (!fileParameter.Options.DisableFilenameStar) dispositionHeader.FileNameStar = fileParameter.FileName;
8787
streamContent.Headers.ContentDisposition = dispositionHeader;
8888

8989
return streamContent;

0 commit comments

Comments
 (0)