* Began refactoring http_get. Still a few cases to handle, but it works. * Introduced error enum; handle error 406; handle a misbehaving server; redirect_url leaked memory (L888) * Allowed calls to http_get to pass NULL as acceptable_mime_types * Removed status_code from header struct; eventually planning to move most of parse_header's logic back to http_get, so this makes sense * Moved some more logic back into http_get Note: currently behaves weirdly with some QR codes, including but probably not limited to ones pointing to TinyURL. * Handle redirects correctly; other rearrangements * Formatting * Handle HTTP 303 See Other correctly * Removed "Download failed" error in camera.c due to all related failures being handled in http_get * Fixed missing loading bar; started working on unchunked download * Added unchunked download * Reintroduced the download progress bar, rolled back to always doing chunked download * URL length caps at 2083 chars * Slightly more efficient * Correctly handle incorrect filesize header TODO: reorder clauses to remove the goto? * Fixed illegal characters, removed unnecessary logic (technically a regression, as we always have to realloc now) * Finally finished up status code handling. Fixed a memory leak when the server fails conneg.
2.4 KiB
2.4 KiB