@@ -188,9 +188,63 @@ fn test_qhelp_examples() {
188188 }
189189}
190190
191+ fn test_actix_web ( ) {
192+ // actix-web re-exports the cookie crate
193+ use actix_web:: cookie:: Cookie as ActixCookie ;
194+
195+ // secure set to false
196+ let cookie1 = ActixCookie :: build ( "name" , "value" ) . secure ( false ) . finish ( ) ; // $ Alert[rust/insecure-cookie]
197+ println ! ( "actix-web cookie1 = '{}'" , cookie1. to_string( ) ) ;
198+
199+ // secure set to true
200+ let cookie2 = ActixCookie :: build ( "name" , "value" ) . secure ( true ) . finish ( ) ; // good
201+ println ! ( "actix-web cookie2 = '{}'" , cookie2. to_string( ) ) ;
202+
203+ // secure left as default
204+ let cookie3 = ActixCookie :: build ( "name" , "value" ) . finish ( ) ; // $ Alert[rust/insecure-cookie]
205+ println ! ( "actix-web cookie3 = '{}'" , cookie3. to_string( ) ) ;
206+ }
207+
208+ fn test_poem ( ) {
209+ use poem:: web:: cookie:: Cookie as PoemCookie ;
210+
211+ // secure set to false
212+ let cookie1 = PoemCookie :: build ( "name" , "value" ) . secure ( false ) . finish ( ) ; // $ Alert[rust/insecure-cookie]
213+ println ! ( "poem cookie1 = '{}'" , cookie1. to_string( ) ) ;
214+
215+ // secure set to true
216+ let cookie2 = PoemCookie :: build ( "name" , "value" ) . secure ( true ) . finish ( ) ; // good
217+ println ! ( "poem cookie2 = '{}'" , cookie2. to_string( ) ) ;
218+
219+ // secure left as default
220+ let cookie3 = PoemCookie :: build ( "name" , "value" ) . finish ( ) ; // $ Alert[rust/insecure-cookie]
221+ println ! ( "poem cookie3 = '{}'" , cookie3. to_string( ) ) ;
222+ }
223+
224+ fn test_http_types ( ) {
225+ use http_types:: Cookie as HttpTypesCookie ;
226+
227+ // secure set to false
228+ let mut cookie1 = HttpTypesCookie :: new ( "name" , "value" ) ;
229+ cookie1. set_secure ( false ) ; // $ Source
230+ println ! ( "http-types cookie1 = '{}'" , cookie1. to_string( ) ) ; // $ Alert[rust/insecure-cookie]
231+
232+ // secure set to true
233+ let mut cookie2 = HttpTypesCookie :: new ( "name" , "value" ) ;
234+ cookie2. set_secure ( true ) ; // good
235+ println ! ( "http-types cookie2 = '{}'" , cookie2. to_string( ) ) ;
236+
237+ // secure left as default
238+ let cookie3 = HttpTypesCookie :: new ( "name" , "value" ) ; // $ Source
239+ println ! ( "http-types cookie3 = '{}'" , cookie3. to_string( ) ) ; // $ Alert[rust/insecure-cookie]
240+ }
241+
191242fn main ( ) {
192243 test_cookie ( true ) ;
193244 test_cookie ( false ) ;
194245 test_biscotti ( ) ;
195246 test_qhelp_examples ( ) ;
247+ test_actix_web ( ) ;
248+ test_poem ( ) ;
249+ test_http_types ( ) ;
196250}
0 commit comments