More logging

This commit is contained in:
Kieran 2024-01-13 22:50:42 +00:00
parent ed79445fe6
commit d080dbac04
No known key found for this signature in database
GPG Key ID: DE71CEB3925BE941
2 changed files with 26 additions and 20 deletions

View File

@ -37,12 +37,12 @@ public class Lnurl
"^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$");
lnurl = lnurl.ToLower().Trim();
if (lnurl.StartsWith("lnurlp:"))
{
return new Uri(lnurl.Replace("lnurlp://", "https://"));
}
if (lnurl.StartsWith("lnurl"))
{
Bech32.Decode(lnurl, out var hrp, out var decoded);
@ -72,8 +72,7 @@ public class Lnurl
public async Task<LNURLService?> LoadAsync(string lnurl)
{
var url = ParseLnUrl(lnurl);
using var httpClient = new HttpClient();
var response = await httpClient.GetAsync(url);
var response = await _client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
var json = await response.Content.ReadAsStringAsync();
@ -112,8 +111,7 @@ public class Lnurl
try
{
using var httpClient = new HttpClient();
var response = await httpClient.GetAsync(builder.Uri);
var response = await _client.GetAsync(builder.Uri);
if (response.IsSuccessStatusCode)
{
var json = await response.Content.ReadAsStringAsync();
@ -130,7 +128,7 @@ public class Lnurl
}
catch (Exception e)
{
throw new LNURLError(LNURLErrorCode.ServiceUnavailable, "Failed to load callback");
throw new LNURLError(LNURLErrorCode.ServiceUnavailable, $"Failed to load callback: {e.Message}");
}
}
}

View File

@ -137,23 +137,31 @@ public class ZapperRelay : INostrRelay, IDisposable
};
var zapSigned = zap.Sign(key);
var invoice = await _lnurl.GetInvoiceAsync(svc, 5, "Thanks for your interaction!", zapSigned);
if (string.IsNullOrEmpty(invoice.Pr))
try
{
return new(false, $"blocked: failed to get invoice from {parsedTarget}");
}
var invoice = await _lnurl.GetInvoiceAsync(svc, 5, "Thanks for your interaction!", zapSigned);
if (string.IsNullOrEmpty(invoice.Pr))
{
return new(false, $"blocked: failed to get invoice from {parsedTarget}");
}
_logger.LogInformation("Paying invoice {pr}", invoice.Pr);
if (!await _albyApi.PayInvoice(invoice.Pr))
_logger.LogInformation("Paying invoice {pr}", invoice.Pr);
if (!await _albyApi.PayInvoice(invoice.Pr))
{
return new(false, "blocked: failed to pay invoice!");
}
var seenEvent = NostrBuf.Encode(ev);
(await _session.UpsertAsync(ref seenId, ref seenEvent)).Complete();
_logger.LogInformation("Zapped {name}!", senderProfile.Name);
return new(true, "Zapped!");
}
catch (Exception e)
{
return new(false, "blocked: failed to pay invoice!");
_logger.LogError(e.ToString());
return new(false, $"blocked: Oh no! something went wrong! {e.Message}");
}
var seenEvent = NostrBuf.Encode(ev);
(await _session.UpsertAsync(ref seenId, ref seenEvent)).Complete();
_logger.LogInformation("Zapped {name}!", senderProfile.Name);
return new(true, "Zapped!");
}
return new(false, "blocked: kind not accepted, no zap for you!");