#[repr(C)]pub struct NSMutableURLRequest { /* private fields */ }
NSURLRequest
only.Expand description
An NSMutableURLRequest object represents a mutable URL load request in a manner independent of protocol and URL scheme.
This specialization of NSURLRequest is provided to aid developers who may find it more convenient to mutate a single request object for a series of URL loads instead of creating an immutable NSURLRequest for each load. This programming model is supported by the following contract stipulation between NSMutableURLRequest and NSURLConnection: NSURLConnection makes a deep copy of each NSMutableURLRequest object passed to one of its initializers.
NSMutableURLRequest is designed to be extended to support protocol-specific data by adding categories to access a property object provided in an interface targeted at protocol implementors.
- Protocol implementors should direct their attention to the NSMutableURLRequestExtensibility category on NSMutableURLRequest for more information on how to provide extensions on NSMutableURLRequest to support protocol-specific request information.
- Clients of this API who wish to create NSMutableURLRequest objects to load URL content should consult the protocol-specific NSMutableURLRequest categories that are available. The NSMutableHTTPURLRequest category on NSMutableURLRequest is an example.
See also Apple’s documentation
Implementations§
Source§impl NSMutableURLRequest
impl NSMutableURLRequest
Sourcepub unsafe fn URL(&self) -> Option<Retained<NSURL>>
Available on crate feature NSURL
only.
pub unsafe fn URL(&self) -> Option<Retained<NSURL>>
NSURL
only.The URL of the receiver.
Sourcepub unsafe fn setURL(&self, url: Option<&NSURL>)
Available on crate feature NSURL
only.
pub unsafe fn setURL(&self, url: Option<&NSURL>)
NSURL
only.Setter for URL
.
Sourcepub unsafe fn cachePolicy(&self) -> NSURLRequestCachePolicy
pub unsafe fn cachePolicy(&self) -> NSURLRequestCachePolicy
The cache policy of the receiver.
Sourcepub unsafe fn setCachePolicy(&self, cache_policy: NSURLRequestCachePolicy)
pub unsafe fn setCachePolicy(&self, cache_policy: NSURLRequestCachePolicy)
Setter for cachePolicy
.
Sourcepub unsafe fn timeoutInterval(&self) -> NSTimeInterval
Available on crate feature NSDate
only.
pub unsafe fn timeoutInterval(&self) -> NSTimeInterval
NSDate
only.Sets the timeout interval of the receiver.
The timeout interval specifies the limit on the idle interval allotted to a request in the process of loading. The “idle interval” is defined as the period of time that has passed since the last instance of load activity occurred for a request that is in the process of loading. Hence, when an instance of load activity occurs (e.g. bytes are received from the network for a request), the idle interval for a request is reset to 0. If the idle interval ever becomes greater than or equal to the timeout interval, the request is considered to have timed out. This timeout interval is measured in seconds.
Sourcepub unsafe fn setTimeoutInterval(&self, timeout_interval: NSTimeInterval)
Available on crate feature NSDate
only.
pub unsafe fn setTimeoutInterval(&self, timeout_interval: NSTimeInterval)
NSDate
only.Setter for timeoutInterval
.
Sourcepub unsafe fn mainDocumentURL(&self) -> Option<Retained<NSURL>>
Available on crate feature NSURL
only.
pub unsafe fn mainDocumentURL(&self) -> Option<Retained<NSURL>>
NSURL
only.Sets the main document URL
The caller should pass the URL for an appropriate main document, if known. For example, when loading a web page, the URL of the main html document for the top-level frame should be passed. This main document is used to implement the cookie “only from same domain as main document” policy, attributing this request as a sub-resource of a user-specified URL, and possibly other things in the future.
Sourcepub unsafe fn setMainDocumentURL(&self, main_document_url: Option<&NSURL>)
Available on crate feature NSURL
only.
pub unsafe fn setMainDocumentURL(&self, main_document_url: Option<&NSURL>)
NSURL
only.Setter for mainDocumentURL
.
Sourcepub unsafe fn networkServiceType(&self) -> NSURLRequestNetworkServiceType
pub unsafe fn networkServiceType(&self) -> NSURLRequestNetworkServiceType
Sets the NSURLRequestNetworkServiceType to associate with this request
This method is used to provide the network layers with a hint as to the purpose of the request. Most clients should not need to use this method.
Sourcepub unsafe fn setNetworkServiceType(
&self,
network_service_type: NSURLRequestNetworkServiceType,
)
pub unsafe fn setNetworkServiceType( &self, network_service_type: NSURLRequestNetworkServiceType, )
Setter for networkServiceType
.
Sourcepub unsafe fn allowsCellularAccess(&self) -> bool
pub unsafe fn allowsCellularAccess(&self) -> bool
sets whether a connection created with this request is allowed to use the built in cellular radios (if present).
NO if the receiver should not be allowed to use the built in cellular radios to satisfy the request, YES otherwise. The default is YES.
Sourcepub unsafe fn setAllowsCellularAccess(&self, allows_cellular_access: bool)
pub unsafe fn setAllowsCellularAccess(&self, allows_cellular_access: bool)
Setter for allowsCellularAccess
.
Sourcepub unsafe fn allowsExpensiveNetworkAccess(&self) -> bool
pub unsafe fn allowsExpensiveNetworkAccess(&self) -> bool
sets whether a connection created with this request is allowed to use network interfaces which have been marked as expensive.
NO if the receiver should not be allowed to use an interface marked as expensive to satisfy the request, YES otherwise.
Sourcepub unsafe fn setAllowsExpensiveNetworkAccess(
&self,
allows_expensive_network_access: bool,
)
pub unsafe fn setAllowsExpensiveNetworkAccess( &self, allows_expensive_network_access: bool, )
Setter for allowsExpensiveNetworkAccess
.
Sourcepub unsafe fn allowsConstrainedNetworkAccess(&self) -> bool
pub unsafe fn allowsConstrainedNetworkAccess(&self) -> bool
sets whether a connection created with this request is allowed to use network interfaces which have been marked as constrained.
NO if the receiver should not be allowed to use an interface marked as constrained to satisfy the request, YES otherwise.
Sourcepub unsafe fn setAllowsConstrainedNetworkAccess(
&self,
allows_constrained_network_access: bool,
)
pub unsafe fn setAllowsConstrainedNetworkAccess( &self, allows_constrained_network_access: bool, )
Setter for allowsConstrainedNetworkAccess
.
Sourcepub unsafe fn assumesHTTP3Capable(&self) -> bool
pub unsafe fn assumesHTTP3Capable(&self) -> bool
returns whether we assume that server supports HTTP/3. Enables QUIC racing without HTTP/3 service discovery.
Returns: YES if server endpoint is known to support HTTP/3. Defaults to NO. The default may be YES in a future OS update.
Sourcepub unsafe fn setAssumesHTTP3Capable(&self, assumes_http3_capable: bool)
pub unsafe fn setAssumesHTTP3Capable(&self, assumes_http3_capable: bool)
Setter for assumesHTTP3Capable
.
Sourcepub unsafe fn attribution(&self) -> NSURLRequestAttribution
pub unsafe fn attribution(&self) -> NSURLRequestAttribution
Sets the NSURLRequestAttribution to associate with this request.
Set to NSURLRequestAttributionUser if the URL was specified by the user. Defaults to NSURLRequestAttributionDeveloper.
Sourcepub unsafe fn setAttribution(&self, attribution: NSURLRequestAttribution)
pub unsafe fn setAttribution(&self, attribution: NSURLRequestAttribution)
Setter for attribution
.
Sourcepub unsafe fn requiresDNSSECValidation(&self) -> bool
pub unsafe fn requiresDNSSECValidation(&self) -> bool
sets whether a request is required to do DNSSEC validation during DNS lookup.
YES, if the DNS lookup for this request should require DNSSEC validation, No otherwise. Defaults to NO.
Sourcepub unsafe fn setRequiresDNSSECValidation(
&self,
requires_dnssec_validation: bool,
)
pub unsafe fn setRequiresDNSSECValidation( &self, requires_dnssec_validation: bool, )
Setter for requiresDNSSECValidation
.
Sourcepub unsafe fn allowsPersistentDNS(&self) -> bool
pub unsafe fn allowsPersistentDNS(&self) -> bool
Allows storing and usage of DNS answers, potentially beyond TTL expiry, in a persistent per-process cache. This should only be set for hostnames whose resolutions are not expected to change across networks.
YES, if the DNS lookup for this request is allowed to use a persistent per-process cache, NO otherwise. Defaults to NO.
Sourcepub unsafe fn setAllowsPersistentDNS(&self, allows_persistent_dns: bool)
pub unsafe fn setAllowsPersistentDNS(&self, allows_persistent_dns: bool)
Setter for allowsPersistentDNS
.
NSString
only.Sourcepub unsafe fn setCookiePartitionIdentifier(
&self,
cookie_partition_identifier: Option<&NSString>,
)
Available on crate feature NSString
only.
pub unsafe fn setCookiePartitionIdentifier( &self, cookie_partition_identifier: Option<&NSString>, )
NSString
only.Setter for cookiePartitionIdentifier
.
Source§impl NSMutableURLRequest
Methods declared on superclass NSURLRequest
.
impl NSMutableURLRequest
Methods declared on superclass NSURLRequest
.
Sourcepub unsafe fn requestWithURL(url: &NSURL) -> Retained<Self>
Available on crate feature NSURL
only.
pub unsafe fn requestWithURL(url: &NSURL) -> Retained<Self>
NSURL
only.Allocates and initializes an NSURLRequest with the given URL.
Default values are used for cache policy (NSURLRequestUseProtocolCachePolicy) and timeout interval (60 seconds).
Parameter URL
: The URL for the request.
Returns: A newly-created and autoreleased NSURLRequest instance.
Sourcepub unsafe fn requestWithURL_cachePolicy_timeoutInterval(
url: &NSURL,
cache_policy: NSURLRequestCachePolicy,
timeout_interval: NSTimeInterval,
) -> Retained<Self>
Available on crate features NSDate
and NSURL
only.
pub unsafe fn requestWithURL_cachePolicy_timeoutInterval( url: &NSURL, cache_policy: NSURLRequestCachePolicy, timeout_interval: NSTimeInterval, ) -> Retained<Self>
NSDate
and NSURL
only.Allocates and initializes a NSURLRequest with the given URL and cache policy.
Parameter URL
: The URL for the request.
Parameter cachePolicy
: The cache policy for the request.
Parameter timeoutInterval
: The timeout interval for the request. See the
commentary for the
timeoutInterval
for more information on
timeout intervals.
Returns: A newly-created and autoreleased NSURLRequest instance.
Sourcepub unsafe fn initWithURL(this: Allocated<Self>, url: &NSURL) -> Retained<Self>
Available on crate feature NSURL
only.
pub unsafe fn initWithURL(this: Allocated<Self>, url: &NSURL) -> Retained<Self>
NSURL
only.Initializes an NSURLRequest with the given URL.
Default values are used for cache policy (NSURLRequestUseProtocolCachePolicy) and timeout interval (60 seconds).
Parameter URL
: The URL for the request.
Returns: An initialized NSURLRequest.
Sourcepub unsafe fn initWithURL_cachePolicy_timeoutInterval(
this: Allocated<Self>,
url: &NSURL,
cache_policy: NSURLRequestCachePolicy,
timeout_interval: NSTimeInterval,
) -> Retained<Self>
Available on crate features NSDate
and NSURL
only.
pub unsafe fn initWithURL_cachePolicy_timeoutInterval( this: Allocated<Self>, url: &NSURL, cache_policy: NSURLRequestCachePolicy, timeout_interval: NSTimeInterval, ) -> Retained<Self>
NSDate
and NSURL
only.Initializes an NSURLRequest with the given URL and cache policy.
This is the designated initializer for the NSURLRequest class.
Parameter URL
: The URL for the request.
Parameter cachePolicy
: The cache policy for the request.
Parameter timeoutInterval
: The timeout interval for the request. See the
commentary for the
timeoutInterval
for more information on
timeout intervals.
Returns: An initialized NSURLRequest.
Source§impl NSMutableURLRequest
Methods declared on superclass NSObject
.
impl NSMutableURLRequest
Methods declared on superclass NSObject
.
Source§impl NSMutableURLRequest
NSMutableHTTPURLRequest.
The NSMutableHTTPURLRequest on NSMutableURLRequest provides methods
for configuring information specific to HTTP protocol requests.
impl NSMutableURLRequest
NSMutableHTTPURLRequest. The NSMutableHTTPURLRequest on NSMutableURLRequest provides methods for configuring information specific to HTTP protocol requests.
Sourcepub unsafe fn HTTPMethod(&self) -> Retained<NSString>
Available on crate feature NSString
only.
pub unsafe fn HTTPMethod(&self) -> Retained<NSString>
NSString
only.Sets the HTTP request method of the receiver.
Sourcepub unsafe fn setHTTPMethod(&self, http_method: &NSString)
Available on crate feature NSString
only.
pub unsafe fn setHTTPMethod(&self, http_method: &NSString)
NSString
only.Setter for HTTPMethod
.
Sourcepub unsafe fn allHTTPHeaderFields(
&self,
) -> Option<Retained<NSDictionary<NSString, NSString>>>
Available on crate features NSDictionary
and NSString
only.
pub unsafe fn allHTTPHeaderFields( &self, ) -> Option<Retained<NSDictionary<NSString, NSString>>>
NSDictionary
and NSString
only.Sets the HTTP header fields of the receiver to the given dictionary.
This method replaces all header fields that may have existed before this method call.
Since HTTP header fields must be string values, each object and key in the dictionary passed to this method must answer YES when sent an -isKindOfClass:[NSString class] message. If either the key or value for a key-value pair answers NO when sent this message, the key-value pair is skipped.
Sourcepub unsafe fn setAllHTTPHeaderFields(
&self,
all_http_header_fields: Option<&NSDictionary<NSString, NSString>>,
)
Available on crate features NSDictionary
and NSString
only.
pub unsafe fn setAllHTTPHeaderFields( &self, all_http_header_fields: Option<&NSDictionary<NSString, NSString>>, )
NSDictionary
and NSString
only.Setter for allHTTPHeaderFields
.
Sourcepub unsafe fn setValue_forHTTPHeaderField(
&self,
value: Option<&NSString>,
field: &NSString,
)
Available on crate feature NSString
only.
pub unsafe fn setValue_forHTTPHeaderField( &self, value: Option<&NSString>, field: &NSString, )
NSString
only.Sets the value of the given HTTP header field.
If a value was previously set for the given header field, that value is replaced with the given value. Note that, in keeping with the HTTP RFC, HTTP header field names are case-insensitive.
Parameter value
: the header field value.
Parameter field
: the header field name (case-insensitive).
Sourcepub unsafe fn addValue_forHTTPHeaderField(
&self,
value: &NSString,
field: &NSString,
)
Available on crate feature NSString
only.
pub unsafe fn addValue_forHTTPHeaderField( &self, value: &NSString, field: &NSString, )
NSString
only.Adds an HTTP header field in the current header dictionary.
This method provides a way to add values to header fields incrementally. If a value was previously set for the given header field, the given value is appended to the previously-existing value. The appropriate field delimiter, a comma in the case of HTTP, is added by the implementation, and should not be added to the given value by the caller. Note that, in keeping with the HTTP RFC, HTTP header field names are case-insensitive.
Parameter value
: the header field value.
Parameter field
: the header field name (case-insensitive).
Sourcepub unsafe fn HTTPBody(&self) -> Option<Retained<NSData>>
Available on crate feature NSData
only.
pub unsafe fn HTTPBody(&self) -> Option<Retained<NSData>>
NSData
only.Sets the request body data of the receiver.
This data is sent as the message body of the request, as in done in an HTTP POST request.
Sourcepub unsafe fn setHTTPBody(&self, http_body: Option<&NSData>)
Available on crate feature NSData
only.
pub unsafe fn setHTTPBody(&self, http_body: Option<&NSData>)
NSData
only.Setter for HTTPBody
.
Sourcepub unsafe fn HTTPBodyStream(&self) -> Option<Retained<NSInputStream>>
Available on crate feature NSStream
only.
pub unsafe fn HTTPBodyStream(&self) -> Option<Retained<NSInputStream>>
NSStream
only.Sets the request body to be the contents of the given stream.
The provided stream should be unopened; the request will take over the stream’s delegate. The entire stream’s contents will be transmitted as the HTTP body of the request. Note that the body stream and the body data (set by setHTTPBody:, above) are mutually exclusive
- setting one will clear the other.
Sourcepub unsafe fn setHTTPBodyStream(&self, http_body_stream: Option<&NSInputStream>)
Available on crate feature NSStream
only.
pub unsafe fn setHTTPBodyStream(&self, http_body_stream: Option<&NSInputStream>)
NSStream
only.Setter for HTTPBodyStream
.
Sourcepub unsafe fn HTTPShouldHandleCookies(&self) -> bool
pub unsafe fn HTTPShouldHandleCookies(&self) -> bool
Decide whether default cookie handling will happen for this request (YES if cookies should be sent with and set for this request; otherwise NO).
The default is YES - in other words, cookies are sent from and stored to the cookie manager by default. NOTE: In releases prior to 10.3, this value is ignored
Sourcepub unsafe fn setHTTPShouldHandleCookies(
&self,
http_should_handle_cookies: bool,
)
pub unsafe fn setHTTPShouldHandleCookies( &self, http_should_handle_cookies: bool, )
Setter for HTTPShouldHandleCookies
.
Sourcepub unsafe fn HTTPShouldUsePipelining(&self) -> bool
👎Deprecated: Only supported in the classic loader, please adopt HTTP/2 and HTTP/3 instead
pub unsafe fn HTTPShouldUsePipelining(&self) -> bool
Sets whether the request should not wait for the previous response before transmitting (YES if the receiver should transmit before the previous response is received. NO to wait for the previous response before transmitting)
Calling this method with a YES value does not guarantee HTTP pipelining behavior. This method may have no effect if an HTTP proxy is configured, or if the HTTP request uses an unsafe request method (e.g., POST requests will not pipeline). Pipelining behavior also may not begin until the second request on a given TCP connection. There may be other situations where pipelining does not occur even though YES was set. HTTP 1.1 allows the client to send multiple requests to the server without waiting for a response. Though HTTP 1.1 requires support for pipelining, some servers report themselves as being HTTP 1.1 but do not support pipelining (disconnecting, sending resources misordered, omitting part of a resource, etc.).
Sourcepub unsafe fn setHTTPShouldUsePipelining(
&self,
http_should_use_pipelining: bool,
)
👎Deprecated: Only supported in the classic loader, please adopt HTTP/2 and HTTP/3 instead
pub unsafe fn setHTTPShouldUsePipelining( &self, http_should_use_pipelining: bool, )
Setter for HTTPShouldUsePipelining
.
Methods from Deref<Target = NSURLRequest>§
Sourcepub unsafe fn URL(&self) -> Option<Retained<NSURL>>
Available on crate feature NSURL
only.
pub unsafe fn URL(&self) -> Option<Retained<NSURL>>
NSURL
only.Returns the URL of the receiver.
Returns: The URL of the receiver.
Sourcepub unsafe fn cachePolicy(&self) -> NSURLRequestCachePolicy
pub unsafe fn cachePolicy(&self) -> NSURLRequestCachePolicy
Returns the cache policy of the receiver.
Returns: The cache policy of the receiver.
Sourcepub unsafe fn timeoutInterval(&self) -> NSTimeInterval
Available on crate feature NSDate
only.
pub unsafe fn timeoutInterval(&self) -> NSTimeInterval
NSDate
only.Returns the timeout interval of the receiver.
The timeout interval specifies the limit on the idle interval allotted to a request in the process of loading. The “idle interval” is defined as the period of time that has passed since the last instance of load activity occurred for a request that is in the process of loading. Hence, when an instance of load activity occurs (e.g. bytes are received from the network for a request), the idle interval for a request is reset to 0. If the idle interval ever becomes greater than or equal to the timeout interval, the request is considered to have timed out. This timeout interval is measured in seconds.
Returns: The timeout interval of the receiver.
Sourcepub unsafe fn mainDocumentURL(&self) -> Option<Retained<NSURL>>
Available on crate feature NSURL
only.
pub unsafe fn mainDocumentURL(&self) -> Option<Retained<NSURL>>
NSURL
only.The main document URL associated with this load.
This URL is used for the cookie “same domain as main document” policy, and attributing the request as a sub-resource of a user-specified URL. There may also be other future uses. See setMainDocumentURL:
Returns: The main document URL.
Sourcepub unsafe fn networkServiceType(&self) -> NSURLRequestNetworkServiceType
pub unsafe fn networkServiceType(&self) -> NSURLRequestNetworkServiceType
Returns the NSURLRequestNetworkServiceType associated with this request.
This will return NSURLNetworkServiceTypeDefault for requests that have not explicitly set a networkServiceType (using the setNetworkServiceType method).
Returns: The NSURLRequestNetworkServiceType associated with this request.
Sourcepub unsafe fn allowsCellularAccess(&self) -> bool
pub unsafe fn allowsCellularAccess(&self) -> bool
returns whether a connection created with this request is allowed to use the built in cellular radios (if present).
Returns: YES if the receiver is allowed to use the built in cellular radios to satisfy the request, NO otherwise.
Sourcepub unsafe fn allowsExpensiveNetworkAccess(&self) -> bool
pub unsafe fn allowsExpensiveNetworkAccess(&self) -> bool
returns whether a connection created with this request is allowed to use network interfaces which have been marked as expensive.
Returns: YES if the receiver is allowed to use an interface marked as expensive to satisfy the request, NO otherwise.
Sourcepub unsafe fn allowsConstrainedNetworkAccess(&self) -> bool
pub unsafe fn allowsConstrainedNetworkAccess(&self) -> bool
returns whether a connection created with this request is allowed to use network interfaces which have been marked as constrained.
Returns: YES if the receiver is allowed to use an interface marked as constrained to satisfy the request, NO otherwise.
Sourcepub unsafe fn assumesHTTP3Capable(&self) -> bool
pub unsafe fn assumesHTTP3Capable(&self) -> bool
returns whether we assume that server supports HTTP/3. Enables QUIC racing without HTTP/3 service discovery.
Returns: YES if server endpoint is known to support HTTP/3. Defaults to NO. The default may be YES in a future OS update.
Sourcepub unsafe fn attribution(&self) -> NSURLRequestAttribution
pub unsafe fn attribution(&self) -> NSURLRequestAttribution
Returns the NSURLRequestAttribution associated with this request.
This will return NSURLRequestAttributionDeveloper for requests that have not explicitly set an attribution.
Returns: The NSURLRequestAttribution associated with this request.
Sourcepub unsafe fn requiresDNSSECValidation(&self) -> bool
pub unsafe fn requiresDNSSECValidation(&self) -> bool
sets whether a request is required to do DNSSEC validation during DNS lookup.
YES, if the DNS lookup for this request should require DNSSEC validation, No otherwise. Defaults to NO.
Sourcepub unsafe fn allowsPersistentDNS(&self) -> bool
pub unsafe fn allowsPersistentDNS(&self) -> bool
Allows storing and usage of DNS answers, potentially beyond TTL expiry, in a persistent per-process cache. This should only be set for hostnames whose resolutions are not expected to change across networks.
YES, if the DNS lookup for this request is allowed to use a persistent per-process cache, NO otherwise. Defaults to NO.
NSString
only.Sourcepub unsafe fn HTTPMethod(&self) -> Option<Retained<NSString>>
Available on crate feature NSString
only.
pub unsafe fn HTTPMethod(&self) -> Option<Retained<NSString>>
NSString
only.Returns the HTTP request method of the receiver.
Returns: the HTTP request method of the receiver.
Sourcepub unsafe fn allHTTPHeaderFields(
&self,
) -> Option<Retained<NSDictionary<NSString, NSString>>>
Available on crate features NSDictionary
and NSString
only.
pub unsafe fn allHTTPHeaderFields( &self, ) -> Option<Retained<NSDictionary<NSString, NSString>>>
NSDictionary
and NSString
only.Returns a dictionary containing all the HTTP header fields of the receiver.
Returns: a dictionary containing all the HTTP header fields of the receiver.
Sourcepub unsafe fn valueForHTTPHeaderField(
&self,
field: &NSString,
) -> Option<Retained<NSString>>
Available on crate feature NSString
only.
pub unsafe fn valueForHTTPHeaderField( &self, field: &NSString, ) -> Option<Retained<NSString>>
NSString
only.Returns the value which corresponds to the given header field. Note that, in keeping with the HTTP RFC, HTTP header field names are case-insensitive.
Parameter field
: the header field name to use for the lookup
(case-insensitive).
Returns: the value associated with the given header field, or nil if there is no value associated with the given header field.
Sourcepub unsafe fn HTTPBody(&self) -> Option<Retained<NSData>>
Available on crate feature NSData
only.
pub unsafe fn HTTPBody(&self) -> Option<Retained<NSData>>
NSData
only.Returns the request body data of the receiver.
This data is sent as the message body of the request, as in done in an HTTP POST request.
Returns: The request body data of the receiver.
Sourcepub unsafe fn HTTPBodyStream(&self) -> Option<Retained<NSInputStream>>
Available on crate feature NSStream
only.
pub unsafe fn HTTPBodyStream(&self) -> Option<Retained<NSInputStream>>
NSStream
only.Returns the request body stream of the receiver if any has been set
The stream is returned for examination only; it is not safe for the caller to manipulate the stream in any way. Also note that the HTTPBodyStream and HTTPBody are mutually exclusive - only one can be set on a given request. Also note that the body stream is preserved across copies, but is LOST when the request is coded via the NSCoding protocol
Returns: The request body stream of the receiver.
Sourcepub unsafe fn HTTPShouldHandleCookies(&self) -> bool
pub unsafe fn HTTPShouldHandleCookies(&self) -> bool
Determine whether default cookie handling will happen for this request.
NOTE: This value is not used prior to 10.3
Returns: YES if cookies will be sent with and set for this request; otherwise NO.
Sourcepub unsafe fn HTTPShouldUsePipelining(&self) -> bool
👎Deprecated: Only supported in the classic loader, please adopt HTTP/2 and HTTP/3 instead
pub unsafe fn HTTPShouldUsePipelining(&self) -> bool
Reports whether the receiver is not expected to wait for the previous response before transmitting.
Returns: YES if the receiver should transmit before the previous response is received. NO if the receiver should wait for the previous response before transmitting.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init
/new
methods).
§Example
Check that an instance of NSObject
has the precise class NSObject
.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load
instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load
instead.Use Ivar::load
instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T
.
See Ivar::load_ptr
for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T
.
This is the reference-variant. Use Retained::downcast
if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString
.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString
to a NSMutableString
,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass:
for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject
.
§Panics
This works internally by calling isKindOfClass:
. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject
and
NSProxy
implement this method.
§Examples
Cast an NSString
back and forth from NSObject
.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();
Try (and fail) to cast an NSObject
to an NSString
.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());
Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();
This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}
Trait Implementations§
Source§impl AsRef<AnyObject> for NSMutableURLRequest
impl AsRef<AnyObject> for NSMutableURLRequest
Source§impl AsRef<NSObject> for NSMutableURLRequest
impl AsRef<NSObject> for NSMutableURLRequest
Source§impl AsRef<NSURLRequest> for NSMutableURLRequest
impl AsRef<NSURLRequest> for NSMutableURLRequest
Source§fn as_ref(&self) -> &NSURLRequest
fn as_ref(&self) -> &NSURLRequest
Source§impl Borrow<AnyObject> for NSMutableURLRequest
impl Borrow<AnyObject> for NSMutableURLRequest
Source§impl Borrow<NSObject> for NSMutableURLRequest
impl Borrow<NSObject> for NSMutableURLRequest
Source§impl Borrow<NSURLRequest> for NSMutableURLRequest
impl Borrow<NSURLRequest> for NSMutableURLRequest
Source§fn borrow(&self) -> &NSURLRequest
fn borrow(&self) -> &NSURLRequest
Source§impl ClassType for NSMutableURLRequest
impl ClassType for NSMutableURLRequest
Source§const NAME: &'static str = "NSMutableURLRequest"
const NAME: &'static str = "NSMutableURLRequest"
Source§type Super = NSURLRequest
type Super = NSURLRequest
Source§type ThreadKind = <<NSMutableURLRequest as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<NSMutableURLRequest as ClassType>::Super as ClassType>::ThreadKind
Source§impl CopyingHelper for NSMutableURLRequest
Available on crate feature NSObject
only.
impl CopyingHelper for NSMutableURLRequest
NSObject
only.Source§type Result = NSURLRequest
type Result = NSURLRequest
Self
if the type has no
immutable counterpart. Read moreSource§impl Debug for NSMutableURLRequest
impl Debug for NSMutableURLRequest
Source§impl Deref for NSMutableURLRequest
impl Deref for NSMutableURLRequest
Source§impl Hash for NSMutableURLRequest
impl Hash for NSMutableURLRequest
Source§impl Message for NSMutableURLRequest
impl Message for NSMutableURLRequest
Source§impl MutableCopyingHelper for NSMutableURLRequest
Available on crate feature NSObject
only.
impl MutableCopyingHelper for NSMutableURLRequest
NSObject
only.Source§type Result = NSMutableURLRequest
type Result = NSMutableURLRequest
Self
if the type has no
mutable counterpart. Read moreSource§impl NSCoding for NSMutableURLRequest
impl NSCoding for NSMutableURLRequest
Source§unsafe fn encodeWithCoder(&self, coder: &NSCoder)
unsafe fn encodeWithCoder(&self, coder: &NSCoder)
NSObject
and NSCoder
only.Source§impl NSCopying for NSMutableURLRequest
impl NSCopying for NSMutableURLRequest
Source§impl NSMutableCopying for NSMutableURLRequest
impl NSMutableCopying for NSMutableURLRequest
Source§impl NSObjectProtocol for NSMutableURLRequest
impl NSObjectProtocol for NSMutableURLRequest
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass
directly, or cast your objects with AnyObject::downcast_ref