objective categorical abstract machine language personal data server
65
fork

Configure Feed

Select the types of activity you want to include in your feed.

More debug logging

futurGH d579423d 5d674bcf

+14 -2
+1 -1
bin/main.ml
··· 201 201 Printexc.record_backtrace true ; 202 202 let%lwt db = Data_store.connect ~create:true () in 203 203 S3.Backup.start () ; 204 - Dream.initialize_log ~level:Env.log_level () ; 204 + Dream.initialize_log ~level:`Debug () ; 205 205 Dream.serve ~interface:"0.0.0.0" ~port:8008 206 206 @@ Dream.pipeline 207 207 [ Dream.logger
+4
pegasus/lib/auth.ml
··· 239 239 | Error "use_dpop_nonce" -> 240 240 Lwt.return_error @@ Errors.use_dpop_nonce () 241 241 | Error e -> 242 + Dream.debug (fun log -> log ~request:req "dpop error: %s" e) ; 242 243 Lwt.return_error @@ Errors.invalid_request ("dpop error: " ^ e) 243 244 | Ok proof -> 244 245 Lwt.return_ok (DPoP {proof}) ··· 247 248 fun {req; db} -> 248 249 match parse_dpop req with 249 250 | Error e -> 251 + Dream.debug (fun log -> log ~request:req "dpop error: %s" e) ; 250 252 Lwt.return_error @@ Errors.invalid_request ("dpop error: " ^ e) 251 253 | Ok token -> ( 252 254 match ··· 258 260 | Error "use_dpop_nonce" -> 259 261 Lwt.return_error @@ Errors.use_dpop_nonce () 260 262 | Error e -> 263 + Dream.debug (fun log -> log ~request:req "dpop error: %s" e) ; 261 264 Lwt.return_error @@ Errors.invalid_request ("dpop error: " ^ e) 262 265 | Ok proof -> ( 263 266 match Jwt.verify_jwt token ~pubkey:Env.jwt_pubkey with 264 267 | Error e -> 268 + Dream.debug (fun log -> log ~request:req "invalid jwt: %s" e) ; 265 269 Lwt.return_error @@ Errors.auth_required e 266 270 | Ok (_header, claims) -> ( 267 271 let open Yojson.Safe.Util in
+9 -1
pegasus/lib/errors.ml
··· 39 39 in 40 40 match exn with 41 41 | InvalidRequestError (error, message) -> 42 + Dream.debug (fun log -> log "invalid request: %s - %s" error message) ; 42 43 format_response error message `Bad_Request 43 44 | InternalServerError (error, message) -> 45 + Dream.debug (fun log -> 46 + log "internal server error: %s - %s" error message ) ; 44 47 format_response error message `Internal_Server_Error 45 48 | AuthError (error, message) -> 49 + Dream.debug (fun log -> log "auth error: %s - %s" error message) ; 46 50 format_response error message `Unauthorized 47 51 | NotFoundError (error, message) -> 52 + Dream.debug (fun log -> log "not found error: %s - %s" error message) ; 48 53 format_response error message `Not_Found 49 54 | UseDpopNonceError -> 55 + Dream.debug (fun log -> log "use_dpop_nonce error") ; 50 56 Dream.json ~status:`Bad_Request 51 57 ~headers: 52 58 [ ("WWW-Authenticate", {|DPoP error="use_dpop_nonce"|}) 53 59 ; ("Access-Control-Expose-Headers", "WWW-Authenticate") ] 54 60 {|{ "error": "use_dpop_nonce" }|} 55 - | _ -> 61 + | e -> 62 + Dream.warning (fun log -> 63 + log "unexpected internal error: %s" (Printexc.to_string e) ) ; 56 64 format_response "InternalServerError" "Internal server error" 57 65 `Internal_Server_Error 58 66