@@ -16,30 +16,33 @@ static void get_pl_arg_str(char *predicate_name, char *term_name, term_t term, c
1616 }
1717}
1818
19- static foreign_t pl_jwt_encode (term_t in , term_t out , term_t key_term , term_t algorithm , term_t key_id ) {
20- jwt_t * jwt ;
21- char * result , * grants , * alg_str , * key , * kid ;
22- int rval ;
19+ static foreign_t
20+ pl_jwt_encode (term_t in , term_t out , term_t key_term , term_t algorithm , term_t key_id )
21+ {
22+ jwt_t * jwt ;
23+ char * result , * grants , * alg_str , * key , * kid ;
24+ int rval ;
2325
24- get_pl_arg_str ("jwt_encode_from_string/4 " , "in" , in , & grants );
25- get_pl_arg_str ("jwt_encode_from_string/4 " , "key" , key_term , & key );
26- get_pl_arg_str ("jwt_encode_from_string/4 " , "kid" , key_id , & kid );
27- get_pl_arg_str ("jwt_encode_from_string/4 " , "algorithm" , algorithm , & alg_str );
28- jwt_new (& jwt );
29- jwt_add_grants_json (jwt , grants );
30- jwt_add_header (jwt , "kid" , kid );
31- jwt_set_alg (jwt , jwt_str_alg (alg_str ), (const unsigned char * )key , strlen (key ));
32- result = jwt_encode_str (jwt );
33- rval = PL_unify_atom_chars (out , result );
34- free (result );
35- jwt_free (jwt );
36- return rval ;
26+ get_pl_arg_str ("jwt_encode_from_string/5 " , "in" , in , & grants );
27+ get_pl_arg_str ("jwt_encode_from_string/5 " , "key" , key_term , & key );
28+ get_pl_arg_str ("jwt_encode_from_string/5 " , "kid" , key_id , & kid );
29+ get_pl_arg_str ("jwt_encode_from_string/5 " , "algorithm" , algorithm , & alg_str );
30+ jwt_new (& jwt );
31+ jwt_add_grants_json (jwt , grants );
32+ jwt_add_header (jwt , "kid" , kid );
33+ jwt_set_alg (jwt , jwt_str_alg (alg_str ), (const unsigned char * )key , strlen (key ));
34+ result = jwt_encode_str (jwt );
35+ rval = PL_unify_atom_chars (out , result );
36+ free (result );
37+ jwt_free (jwt );
38+ return rval ;
3739}
3840
39- static foreign_t pl_jwt_parse_head (term_t in , term_t head_term ) {
40- char * input , * head_payload ;
41- jwt_t * jwt ;
42- int jwt_result ;
41+ static foreign_t
42+ pl_jwt_parse_head (term_t in , term_t head_term ) {
43+ char * input , * head_payload ;
44+ jwt_t * jwt ;
45+ int jwt_result ;
4346 get_pl_arg_str ("jwt_encode_from_string/4" , "in" , in , & input );
4447
4548 jwt_result = jwt_decode (& jwt , input , NULL , 0 );
@@ -55,34 +58,38 @@ static foreign_t pl_jwt_parse_head(term_t in, term_t head_term) {
5558 }
5659}
5760
58- static foreign_t pl_jwt_decode (term_t in , term_t out_payload , term_t out_algorithm , term_t in_key ) {
59- char * input , * key , * payload ;
60- const char * algorithm ;
61- int jwt_result ;
62- jwt_t * jwt ;
61+ static foreign_t
62+ pl_jwt_decode (term_t in , term_t out_payload , term_t out_algorithm , term_t in_key )
63+ {
64+ char * input , * key , * payload ;
65+ const char * algorithm ;
66+ int jwt_result ;
67+ jwt_t * jwt ;
6368
64- get_pl_arg_str ("jwt_encode_from_string/4" , "in" , in , & input );
65- get_pl_arg_str ("jwt_encode_from_string/4" , "key" , in_key , & key );
66- if (key == NULL || !strcmp ("" , key )) {
67- jwt_result = jwt_decode (& jwt , input , NULL , 0 );
68- } else {
69- jwt_result = jwt_decode (& jwt , input , (const unsigned char * )key , strlen (key ));
70- }
71- if (!jwt_result ) {
72- payload = jwt_get_grants_json (jwt , NULL );
73- algorithm = jwt_alg_str (jwt_get_alg (jwt ));
74- (void ) PL_unify_atom_chars (out_payload , payload );
75- (void ) PL_unify_atom_chars (out_algorithm , algorithm );
76- free (payload );
77- jwt_free (jwt );
78- PL_succeed ;
79- } else {
80- PL_fail ;
81- }
69+ get_pl_arg_str ("jwt_encode_from_string/4" , "in" , in , & input );
70+ get_pl_arg_str ("jwt_encode_from_string/4" , "key" , in_key , & key );
71+ if (key == NULL || !strcmp ("" , key )) {
72+ jwt_result = jwt_decode (& jwt , input , NULL , 0 );
73+ } else {
74+ jwt_result = jwt_decode (& jwt , input , (const unsigned char * )key , strlen (key ));
75+ }
76+ if (!jwt_result ) {
77+ payload = jwt_get_grants_json (jwt , NULL );
78+ algorithm = jwt_alg_str (jwt_get_alg (jwt ));
79+ (void ) PL_unify_atom_chars (out_payload , payload );
80+ (void ) PL_unify_atom_chars (out_algorithm , algorithm );
81+ free (payload );
82+ jwt_free (jwt );
83+ PL_succeed ;
84+ } else {
85+ PL_fail ;
86+ }
8287}
8388
84- install_t install (void ) {
85- PL_register_foreign ("jwt_parse_head" , 2 , pl_jwt_parse_head , 0 );
86- PL_register_foreign ("jwt_encode_from_string" , 5 , pl_jwt_encode , 0 );
87- PL_register_foreign ("jwt_decode_from_string" , 4 , pl_jwt_decode , 0 );
89+ install_t
90+ install (void )
91+ {
92+ PL_register_foreign ("jwt_parse_head" , 2 , pl_jwt_parse_head , 0 );
93+ PL_register_foreign ("jwt_encode_from_string" , 5 , pl_jwt_encode , 0 );
94+ PL_register_foreign ("jwt_decode_from_string" , 4 , pl_jwt_decode , 0 );
8895}
0 commit comments