@@ -418,13 +418,12 @@ fn serialize_page_token<PageSelector: Serialize>(
418
418
let serialized_token =
419
419
SerializedToken { v : PaginationVersion :: V1 , page_start } ;
420
420
421
- let json_bytes =
422
- serde_json:: to_vec ( & serialized_token) . map_err ( |e| {
423
- HttpError :: for_internal_error ( format ! (
424
- "failed to serialize token: {}" ,
425
- e
426
- ) )
427
- } ) ?;
421
+ let json_bytes = rmp_serde:: to_vec ( & serialized_token) . map_err ( |e| {
422
+ HttpError :: for_internal_error ( format ! (
423
+ "failed to serialize token: {}" ,
424
+ e
425
+ ) )
426
+ } ) ?;
428
427
429
428
URL_SAFE . encode ( json_bytes)
430
429
} ;
@@ -470,7 +469,7 @@ fn deserialize_page_token<PageSelector: DeserializeOwned>(
470
469
// output of the error anyway. It's not clear how else we could
471
470
// propagate this information out.
472
471
let deserialized: SerializedToken < PageSelector > =
473
- serde_json :: from_slice ( & json_bytes) . map_err ( |_| {
472
+ rmp_serde :: from_slice ( & json_bytes) . map_err ( |_| {
474
473
String :: from ( "failed to parse pagination token: corrupted token" )
475
474
} ) ?;
476
475
@@ -533,7 +532,7 @@ mod test {
533
532
s : String ,
534
533
}
535
534
let input =
536
- TokenWithStr { s : String :: from_utf8 ( vec ! [ b'e' ; 352 ] ) . unwrap ( ) } ;
535
+ TokenWithStr { s : String :: from_utf8 ( vec ! [ b'e' ; 376 ] ) . unwrap ( ) } ;
537
536
let serialized = serialize_page_token ( & input) . unwrap ( ) ;
538
537
assert_eq ! ( serialized. len( ) , super :: MAX_TOKEN_LENGTH ) ;
539
538
let output: TokenWithStr = deserialize_page_token ( & serialized) . unwrap ( ) ;
@@ -544,7 +543,7 @@ mod test {
544
543
// Start by attempting to serialize a token larger than the maximum
545
544
// allowed size.
546
545
let input =
547
- TokenWithStr { s : String :: from_utf8 ( vec ! [ b'e' ; 353 ] ) . unwrap ( ) } ;
546
+ TokenWithStr { s : String :: from_utf8 ( vec ! [ b'e' ; 377 ] ) . unwrap ( ) } ;
548
547
let error = serialize_page_token ( & input) . unwrap_err ( ) ;
549
548
assert_eq ! ( error. status_code, http:: StatusCode :: INTERNAL_SERVER_ERROR ) ;
550
549
assert_eq ! ( error. external_message, "Internal Server Error" ) ;
0 commit comments