#[repr(C)]pub struct NSHTTPURLResponse { /* private fields */ }
NSURLResponse
only.Expand description
An NSHTTPURLResponse object represents a response to an HTTP URL load. It is a specialization of NSURLResponse which provides conveniences for accessing information specific to HTTP protocol responses.
See also Apple’s documentation
Implementations§
Source§impl NSHTTPURLResponse
impl NSHTTPURLResponse
Sourcepub unsafe fn initWithURL_statusCode_HTTPVersion_headerFields(
this: Allocated<Self>,
url: &NSURL,
status_code: NSInteger,
http_version: Option<&NSString>,
header_fields: Option<&NSDictionary<NSString, NSString>>,
) -> Option<Retained<Self>>
Available on crate features NSDictionary
and NSString
and NSURL
only.
pub unsafe fn initWithURL_statusCode_HTTPVersion_headerFields( this: Allocated<Self>, url: &NSURL, status_code: NSInteger, http_version: Option<&NSString>, header_fields: Option<&NSDictionary<NSString, NSString>>, ) -> Option<Retained<Self>>
NSDictionary
and NSString
and NSURL
only.initializer for NSHTTPURLResponse objects.
Parameter url
: the URL from which the response was generated.
Parameter statusCode
: an HTTP status code.
Parameter HTTPVersion
: The version of the HTTP response as represented by the server. This is typically represented as “HTTP/1.1”.
Parameter headerFields
: A dictionary representing the header keys and values of the server response.
Returns: the instance of the object, or NULL if an error occurred during initialization.
This API was introduced in Mac OS X 10.7.2 and iOS 5.0 and is not available prior to those releases.
Sourcepub unsafe fn statusCode(&self) -> NSInteger
pub unsafe fn statusCode(&self) -> NSInteger
Returns the HTTP status code of the receiver.
Returns: The HTTP status code of the receiver.
Sourcepub unsafe fn allHeaderFields(&self) -> Retained<NSDictionary>
Available on crate feature NSDictionary
only.
pub unsafe fn allHeaderFields(&self) -> Retained<NSDictionary>
NSDictionary
only.Returns a dictionary containing all the HTTP header fields of the receiver.
By examining this header dictionary, clients can see the “raw” header information which was reported to the protocol implementation by the HTTP server. This may be of use to sophisticated or special-purpose HTTP clients.
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 localizedStringForStatusCode(
status_code: NSInteger,
) -> Retained<NSString>
Available on crate feature NSString
only.
pub unsafe fn localizedStringForStatusCode( status_code: NSInteger, ) -> Retained<NSString>
NSString
only.Convenience method which returns a localized string corresponding to the status code for this response.
Parameter statusCode
: the status code to use to produce a localized string.
Returns: A localized string corresponding to the given status code.
Source§impl NSHTTPURLResponse
Methods declared on superclass NSURLResponse
.
impl NSHTTPURLResponse
Methods declared on superclass NSURLResponse
.
Sourcepub unsafe fn initWithURL_MIMEType_expectedContentLength_textEncodingName(
this: Allocated<Self>,
url: &NSURL,
mime_type: Option<&NSString>,
length: NSInteger,
name: Option<&NSString>,
) -> Retained<Self>
Available on crate features NSString
and NSURL
only.
pub unsafe fn initWithURL_MIMEType_expectedContentLength_textEncodingName( this: Allocated<Self>, url: &NSURL, mime_type: Option<&NSString>, length: NSInteger, name: Option<&NSString>, ) -> Retained<Self>
NSString
and NSURL
only.Initialize an NSURLResponse with the provided values.
Parameter URL
: the URL
Parameter MIMEType
: the MIME content type of the response
Parameter length
: the expected content length of the associated data
Parameter name
: the name of the text encoding for the associated data, if applicable, else nil
Returns: The initialized NSURLResponse.
This is the designated initializer for NSURLResponse.
Methods from Deref<Target = NSURLResponse>§
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 MIMEType(&self) -> Option<Retained<NSString>>
Available on crate feature NSString
only.
pub unsafe fn MIMEType(&self) -> Option<Retained<NSString>>
NSString
only.Returns the MIME type of the receiver.
The MIME type is based on the information provided from an origin source. However, that value may be changed or corrected by a protocol implementation if it can be determined that the origin server or source reported the information incorrectly or imprecisely. An attempt to guess the MIME type may be made if the origin source did not report any such information.
Returns: The MIME type of the receiver.
Sourcepub unsafe fn expectedContentLength(&self) -> c_longlong
pub unsafe fn expectedContentLength(&self) -> c_longlong
Returns the expected content length of the receiver.
Some protocol implementations report a content length as part of delivering load metadata, but not all protocols guarantee the amount of data that will be delivered in actuality. Hence, this method returns an expected amount. Clients should use this value as an advisory, and should be prepared to deal with either more or less data.
Returns: The expected content length of the receiver, or -1 if there is no expectation that can be arrived at regarding expected content length.
Sourcepub unsafe fn textEncodingName(&self) -> Option<Retained<NSString>>
Available on crate feature NSString
only.
pub unsafe fn textEncodingName(&self) -> Option<Retained<NSString>>
NSString
only.Returns the name of the text encoding of the receiver.
This name will be the actual string reported by the origin source during the course of performing a protocol-specific URL load. Clients can inspect this string and convert it to an NSStringEncoding or CFStringEncoding using the methods and functions made available in the appropriate framework.
Returns: The name of the text encoding of the receiver, or nil if no text encoding was specified.
Sourcepub unsafe fn suggestedFilename(&self) -> Option<Retained<NSString>>
Available on crate feature NSString
only.
pub unsafe fn suggestedFilename(&self) -> Option<Retained<NSString>>
NSString
only.Returns a suggested filename if the resource were saved to disk.
The method first checks if the server has specified a filename using the content disposition header. If no valid filename is specified using that mechanism, this method checks the last path component of the URL. If no valid filename can be obtained using the last path component, this method uses the URL’s host as the filename. If the URL’s host can’t be converted to a valid filename, the filename “unknown” is used. In most cases, this method appends the proper file extension based on the MIME type. This method always returns a valid filename.
Returns: A suggested filename to use if saving the resource to disk.
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 NSHTTPURLResponse
impl AsRef<AnyObject> for NSHTTPURLResponse
Source§impl AsRef<NSHTTPURLResponse> for NSHTTPURLResponse
impl AsRef<NSHTTPURLResponse> for NSHTTPURLResponse
Source§impl AsRef<NSObject> for NSHTTPURLResponse
impl AsRef<NSObject> for NSHTTPURLResponse
Source§impl AsRef<NSURLResponse> for NSHTTPURLResponse
impl AsRef<NSURLResponse> for NSHTTPURLResponse
Source§fn as_ref(&self) -> &NSURLResponse
fn as_ref(&self) -> &NSURLResponse
Source§impl Borrow<AnyObject> for NSHTTPURLResponse
impl Borrow<AnyObject> for NSHTTPURLResponse
Source§impl Borrow<NSObject> for NSHTTPURLResponse
impl Borrow<NSObject> for NSHTTPURLResponse
Source§impl Borrow<NSURLResponse> for NSHTTPURLResponse
impl Borrow<NSURLResponse> for NSHTTPURLResponse
Source§fn borrow(&self) -> &NSURLResponse
fn borrow(&self) -> &NSURLResponse
Source§impl ClassType for NSHTTPURLResponse
impl ClassType for NSHTTPURLResponse
Source§const NAME: &'static str = "NSHTTPURLResponse"
const NAME: &'static str = "NSHTTPURLResponse"
Source§type Super = NSURLResponse
type Super = NSURLResponse
Source§type ThreadKind = <<NSHTTPURLResponse as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<NSHTTPURLResponse as ClassType>::Super as ClassType>::ThreadKind
Source§impl CopyingHelper for NSHTTPURLResponse
Available on crate feature NSObject
only.
impl CopyingHelper for NSHTTPURLResponse
NSObject
only.Source§type Result = NSHTTPURLResponse
type Result = NSHTTPURLResponse
Self
if the type has no
immutable counterpart. Read moreSource§impl Debug for NSHTTPURLResponse
impl Debug for NSHTTPURLResponse
Source§impl Deref for NSHTTPURLResponse
impl Deref for NSHTTPURLResponse
Source§impl Hash for NSHTTPURLResponse
impl Hash for NSHTTPURLResponse
Source§impl Message for NSHTTPURLResponse
impl Message for NSHTTPURLResponse
Source§impl NSCoding for NSHTTPURLResponse
impl NSCoding for NSHTTPURLResponse
Source§unsafe fn encodeWithCoder(&self, coder: &NSCoder)
unsafe fn encodeWithCoder(&self, coder: &NSCoder)
NSObject
and NSCoder
only.Source§impl NSCopying for NSHTTPURLResponse
impl NSCopying for NSHTTPURLResponse
Source§impl NSObjectProtocol for NSHTTPURLResponse
impl NSObjectProtocol for NSHTTPURLResponse
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