# HttpDataSource.InvalidResponseCodeException

Artifact: [androidx.media3:media3-datasource](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/datasource/HttpDataSource.java+class:androidx.media3.datasource.HttpDataSource.InvalidResponseCodeException)

*** ** * ** ***

<br />

```
class HttpDataSource.InvalidResponseCodeException : HttpDataSource.HttpDataSourceException
```

<br />

|---|---|---|---|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||||||
| ↳ | [kotlin.Throwable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html) ||||||
|   | ↳ | [java.lang.Exception](https://developer.android.com/reference/java/lang/Exception.html) |||||
|   |   | ↳ | [java.io.IOException](https://developer.android.com/reference/java/io/IOException.html) ||||
|   |   |   | ↳ | [androidx.media3.datasource.DataSourceException](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException) |||
|   |   |   |   | ↳ | [androidx.media3.datasource.HttpDataSource.HttpDataSourceException](https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException) ||
|   |   |   |   |   | ↳ | [androidx.media3.datasource.HttpDataSource.InvalidResponseCodeException](https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.InvalidResponseCodeException) |

*** ** * ** ***

Thrown when an attempt to open a connection results in a response code not in the 2xx range.

## Summary

| ### Public constructors |
|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.InvalidResponseCodeException#InvalidResponseCodeException(int,java.lang.String,java.io.IOException,java.util.Map<java.lang.String,java.util.List<java.lang.String>>,androidx.media3.datasource.DataSpec,byte[])( responseCode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, responseMessage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, cause: https://developer.android.com/reference/java/io/IOException.html?, headerFields: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-map/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!>!, dataSpec: https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSpec!, responseBody: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>! )` |

| ### Public properties |
|---|---|
| `(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-map/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!>!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.InvalidResponseCodeException#headerFields()` An unmodifiable map of the response header fields and values. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>!` | `https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.InvalidResponseCodeException#responseBody()` The response body. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.InvalidResponseCodeException#responseCode()` The response code that was outside of the 2xx range. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | `https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.InvalidResponseCodeException#responseMessage()` The http status message. |

### Inherited Constants

From [androidx.media3.datasource.DataSourceException](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException) `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException#POSITION_OUT_OF_RANGE() = 2008`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException#ERROR_CODE_IO_READ_POSITION_OUT_OF_RANGE()`.

<br />

From [androidx.media3.datasource.HttpDataSource.HttpDataSourceException](https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException) `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException#TYPE_CLOSE() = 3`

The error occurred in closing a `HttpDataSource`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException#TYPE_OPEN() = 1`

The error occurred reading data from a `HttpDataSource`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException#TYPE_READ() = 2`

The error occurred in opening a `HttpDataSource`.

### Inherited functions

From [androidx.media3.datasource.DataSourceException](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException) `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException#isCausedByPositionOutOfRange(java.io.IOException)(e: https://developer.android.com/reference/java/io/IOException.html!)`

Returns whether the given `https://developer.android.com/reference/java/io/IOException.html` was caused by a `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException` whose `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException#reason()` is `https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException#ERROR_CODE_IO_READ_POSITION_OUT_OF_RANGE()` in its cause stack.
From [androidx.media3.datasource.HttpDataSource.HttpDataSourceException](https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException) `java-static https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException!` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException#createForIOException(java.io.IOException,androidx.media3.datasource.DataSpec,int)(

cause: https://developer.android.com/reference/java/io/IOException.html!,

dataSpec: https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSpec!,

@https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException.Type type: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html

)`

Returns a `HttpDataSourceException` whose error code is assigned according to the cause and type.
From [java.lang.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/add-suppressed.html(exception: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!)` `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/fill-in-stack-trace.html()` `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-cause.html()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-localized-message.html()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-message.html()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/java/lang/StackTraceElement.html!>!` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-stack-trace.html()` `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!>!` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-suppressed.html()` `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/init-cause.html(cause: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/print-stack-trace.html()` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/set-stack-trace.html(stackTrace: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/java/lang/StackTraceElement.html!>!)` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/to-string.html()`

### Inherited properties

From [androidx.media3.datasource.DataSourceException](https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException.ErrorCode
https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException#reason()`

The reason of this `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSourceException`, should be one of the `ERROR_CODE_IO_*` in `https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException.ErrorCode`.
From [androidx.media3.datasource.HttpDataSource.HttpDataSourceException](https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException) `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSpec!` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException#dataSpec()`

The `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSpec` associated with the current connection.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException.Type
https://developer.android.com/reference/kotlin/androidx/media3/datasource/HttpDataSource.HttpDataSourceException#type()`

## Public constructors

### InvalidResponseCodeException

```
@UnstableApi
InvalidResponseCodeException(
    responseCode: Int,
    responseMessage: String?,
    cause: IOException?,
    headerFields: (Mutable)Map<String!, (Mutable)List<String!>!>!,
    dataSpec: DataSpec!,
    responseBody: ByteArray<Byte>!
)
```

## Public properties

### headerFields

```
@UnstableApi
val headerFields: (Mutable)Map<String!, (Mutable)List<String!>!>!
```

An unmodifiable map of the response header fields and values.

### responseBody

```
val responseBody: Array<Byte>!
```

The response body.

### responseCode

```
val responseCode: Int
```

The response code that was outside of the 2xx range.

### responseMessage

```
val responseMessage: String?
```

The http status message.