11use image:: codecs:: {
2- bmp:: BmpEncoder , gif:: GifEncoder , jpeg:: JpegEncoder , png:: PngEncoder , tga:: TgaEncoder , webp:: WebPEncoder ,
2+ bmp:: BmpEncoder , gif:: GifEncoder , jpeg:: JpegEncoder , png:: PngEncoder , tga:: TgaEncoder ,
3+ webp:: WebPEncoder ,
34} ;
45use image:: ImageEncoder ;
56use image:: { ExtendedColorType :: Rgb8 , ImageFormat } ;
@@ -63,12 +64,19 @@ fn main() {
6364 ( encode ( & rgb888, ImageFormat :: Png ) , "image/png" )
6465 } else if url_lc. ends_with ( "webp" ) {
6566 ( encode ( & rgb888, ImageFormat :: WebP ) , "image/webp" )
66- } else {
67+ } else {
6768 // 404
6869 let response_text = "404 Not found\n Either go to / or specify any path ending in a supported file extension: webp, png, jp(e)g, gif, tga or bmp)" ;
6970 let response = Response :: new_empty ( StatusCode ( 404 ) )
70- . with_data ( response_text. as_bytes ( ) , Some ( response_text. as_bytes ( ) . len ( ) ) )
71- . with_header ( format ! ( "Content-Type: text/plain" ) . parse :: < Header > ( ) . unwrap ( ) ) ;
71+ . with_data (
72+ response_text. as_bytes ( ) ,
73+ Some ( response_text. as_bytes ( ) . len ( ) ) ,
74+ )
75+ . with_header (
76+ format ! ( "Content-Type: text/plain" )
77+ . parse :: < Header > ( )
78+ . unwrap ( ) ,
79+ ) ;
7280 request. respond ( response) . unwrap ( ) ;
7381 continue ;
7482 } ;
@@ -89,7 +97,9 @@ fn encode(img_buf: &[u8], format: ImageFormat) -> Vec<u8> {
8997 ImageFormat :: Jpeg => JpegEncoder :: new ( & mut writer) . encode ( img_buf, width, height, Rgb8 ) ,
9098 ImageFormat :: Png => PngEncoder :: new ( & mut writer) . write_image ( img_buf, width, height, Rgb8 ) ,
9199 ImageFormat :: Tga => TgaEncoder :: new ( & mut writer) . encode ( img_buf, width, height, Rgb8 ) ,
92- ImageFormat :: WebP => WebPEncoder :: new_lossless ( & mut writer) . encode ( img_buf, width, height, Rgb8 ) ,
100+ ImageFormat :: WebP => {
101+ WebPEncoder :: new_lossless ( & mut writer) . encode ( img_buf, width, height, Rgb8 )
102+ }
93103 _ => unimplemented ! ( ) ,
94104 }
95105 . unwrap ( ) ;
0 commit comments