Branch: Tag:

2016-03-11

2016-03-11 15:08:53 by Martin Karlgren <marty@roxen.com>

Add :base64url and :-base64url RXML encoding/decoding.

2938:    })    RXML.run_error("Cannot decode base64 string. Bad data.\n");    +  case "base64url": +  case "base-64-url": +  case "b64url": + #if constant (MIME.encode_base64url) +  return MIME.encode_base64url(val); + #else +  return replace (MIME.encode_base64 (val, 1), +  ([ "=": "", +  "+": "-", +  "/": "_" ])); + #endif +  case "-base64url": +  case "-base-64-url": +  case "-b64url": +  if( catch { + #if constant (MIME.decode_base64url) +  return MIME.decode_base64url(val); + #else +  string data = replace (val, ([ "-": "+", +  "_": "/", +  "=": "" ])); +  data = (data + ("=" * (4-sizeof (data) % 4))); // Add padding. +  return MIME.decode_base64 (data); + #endif +  }) +  RXML.run_error("Cannot decode base64 string. Bad data.\n");       case "md5":    case "sha1":