Skip to content

Commit 0843d18

Browse files
committed
Prevent people from adding strings as JSON or XML body
1 parent 59182fc commit 0843d18

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/RestSharp/Request/RestRequestExtensions.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ public static RestRequest AddBody(this RestRequest request, object obj, string?
201201
/// <param name="obj">Object that will be serialized to JSON</param>
202202
/// <param name="contentType">Optional: content type. Default is "application/json"</param>
203203
/// <returns></returns>
204-
public static RestRequest AddJsonBody(this RestRequest request, object obj, string contentType = ContentType.Json) {
204+
public static RestRequest AddJsonBody<T>(this RestRequest request, T obj, string contentType = ContentType.Json) where T : class {
205205
request.RequestFormat = DataFormat.Json;
206206
return request.AddParameter(new JsonParameter("", obj, contentType));
207207
}
@@ -214,7 +214,8 @@ public static RestRequest AddJsonBody(this RestRequest request, object obj, stri
214214
/// <param name="contentType">Optional: content type. Default is "application/xml"</param>
215215
/// <param name="xmlNamespace">Optional: XML namespace</param>
216216
/// <returns></returns>
217-
public static RestRequest AddXmlBody(this RestRequest request, object obj, string contentType = ContentType.Xml, string xmlNamespace = "") {
217+
public static RestRequest AddXmlBody<T>(this RestRequest request, T obj, string contentType = ContentType.Xml, string xmlNamespace = "")
218+
where T : class {
218219
request.RequestFormat = DataFormat.Xml;
219220
request.AddParameter(new XmlParameter("", obj, xmlNamespace, contentType));
220221
return request;
@@ -227,7 +228,7 @@ public static RestRequest AddXmlBody(this RestRequest request, object obj, strin
227228
/// <param name="obj">Object to add as form data</param>
228229
/// <param name="includedProperties">Properties to include, or nothing to include everything</param>
229230
/// <returns></returns>
230-
public static RestRequest AddObject(this RestRequest request, object obj, params string[] includedProperties) {
231+
public static RestRequest AddObject<T>(this RestRequest request, T obj, params string[] includedProperties) where T : class {
231232
var props = obj.GetProperties(includedProperties);
232233

233234
foreach (var (name, value) in props) {

0 commit comments

Comments
 (0)