# Throttle Übung (Modul 10)
## Aufgabenstellung
### 1. Repository vorbereiten
Öffne deine eigene MiniForum-App aus der Hausaufgabe von Modul 7 oder klone das bereitgestellte Repository:
```bash
git clone https://github.com/Developer-Akademie-AA/BE-Modul8-ForumAuthUebung
```
### 2. Default Throttle Classes hinzufügen
Füge in `settings.py` die `DEFAULT_THROTTLE_CLASSES` hinzu.
### 3. Throttle Rates konfigurieren
Konfiguriere in `settings.py` die `DEFAULT_THROTTLE_RATES`:
- Nicht authentifizierte Nutzer: maximal 100 Anfragen pro Stunde
- Authentifizierte Nutzer: maximal 1000 Anfragen pro Stunde
- Für Tests: gerne auf 1-3x/minute setzen
### 4. Custom Throttle Class erstellen
Lege im App-Ordner `forum_app` eine Datei `throttling.py` an und erstelle dort eine Klasse `PostThrottle` mit `scope = 'posts'`.
### 5. Scope verknüpfen
Verknüpfe diesen Scope mit deinen beiden Views für Posts und Comments, sodass maximal eine Anfrage pro Minute erlaubt ist.
### 6. Rate-Limit nur für POST-Requests
Passe die `PostThrottle`-Klasse an, sodass das Rate-Limit nur für POST-Requests gilt. Für alle anderen Methoden (z.B. GET) soll das Standard-Limit greifen.
**Tipp:** Überschreibe dazu die Methode `allow_request()`.
### 7. POST-Request testen
Teste den POST in Postman.
### 8. GET-Request testen
Teste GET-Requests. Diese sollten von den DEFAULT-Einstellungen abgedeckt sein.
**Tipp:** Diese musst du auch in der View hinzufügen.