# {py:mod}archivebox.core.middleware

```{py:module}
```

```{autodoc2-docstring}
:allowtitles:
```

## Module Contents

### Classes

```{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`ReverseProxyAuthMiddleware <archivebox.core.middleware.ReverseProxyAuthMiddleware>`
  -
```

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`detect_timezone <archivebox.core.middleware.detect_timezone>`
  - ```{autodoc2-docstring} archivebox.core.middleware.detect_timezone
    :summary:
    ```
* - {py:obj}`TimezoneMiddleware <archivebox.core.middleware.TimezoneMiddleware>`
  - ```{autodoc2-docstring} archivebox.core.middleware.TimezoneMiddleware
    :summary:
    ```
* - {py:obj}`CacheControlMiddleware <archivebox.core.middleware.CacheControlMiddleware>`
  - ```{autodoc2-docstring} archivebox.core.middleware.CacheControlMiddleware
    :summary:
    ```
* - {py:obj}`HostRoutingMiddleware <archivebox.core.middleware.HostRoutingMiddleware>`
  - ```{autodoc2-docstring} archivebox.core.middleware.HostRoutingMiddleware
    :summary:
    ```
````

### API

````{py:function}
:canonical: archivebox.core.middleware.detect_timezone

```{autodoc2-docstring} archivebox.core.middleware.detect_timezone
```
````

````{py:function}
:canonical: archivebox.core.middleware.TimezoneMiddleware

```{autodoc2-docstring} archivebox.core.middleware.TimezoneMiddleware
```
````

````{py:function}
:canonical: archivebox.core.middleware.CacheControlMiddleware

```{autodoc2-docstring} archivebox.core.middleware.CacheControlMiddleware
```
````

````{py:function}
:canonical: archivebox.core.middleware.HostRoutingMiddleware

```{autodoc2-docstring} archivebox.core.middleware.HostRoutingMiddleware
```
````

`````{py:class}
:canonical: archivebox.core.middleware.ReverseProxyAuthMiddleware

Bases: {py:obj}`django.contrib.auth.middleware.RemoteUserMiddleware`

````{py:attribute} header
:canonical: archivebox.core.middleware.ReverseProxyAuthMiddleware.header
:value: >
   'format(...)'

```{autodoc2-docstring} archivebox.core.middleware.ReverseProxyAuthMiddleware.header
```

````

````{py:method} process_request(request)
:canonical: archivebox.core.middleware.ReverseProxyAuthMiddleware.process_request

```{autodoc2-docstring} archivebox.core.middleware.ReverseProxyAuthMiddleware.process_request
```

````

`````
