# 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.