From c6a3afccfc5ef679a82275c5f045336c2d48f643 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Wed, 17 Feb 2021 16:57:49 +0200 Subject: Added a built-in Atom-to-Gemini feed translator If no user-configured MIME hooks handle an Atom XML document, it will be translated using a built-in filter hook. Only Atom is supported. IssueID #78 --- src/gmrequest.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/gmrequest.c') diff --git a/src/gmrequest.c b/src/gmrequest.c index 8626403f..9cdd627e 100644 --- a/src/gmrequest.c +++ b/src/gmrequest.c @@ -133,6 +133,7 @@ struct Impl_GmRequest { iTlsRequest * req; iGopher gopher; iGmResponse * resp; + iBool isFilterEnabled; iBool isRespLocked; iBool isRespFiltered; iAtomicInt allowUpdate; @@ -208,7 +209,7 @@ static int processIncomingData_GmRequest_(iGmRequest *d, const iBlock *data) { resp->statusCode = code; d->state = receivingBody_GmRequestState; notifyUpdate = iTrue; - if (willTryFilter_MimeHooks(mimeHooks_App(), &resp->meta)) { + if (d->isFilterEnabled && willTryFilter_MimeHooks(mimeHooks_App(), &resp->meta)) { d->isRespFiltered = iTrue; } } @@ -457,8 +458,9 @@ static void beginGopherConnection_GmRequest_(iGmRequest *d, const iString *host, void init_GmRequest(iGmRequest *d, iGmCerts *certs) { d->mtx = new_Mutex(); d->resp = new_GmResponse(); - d->isRespLocked = iFalse; - d->isRespFiltered = iFalse; + d->isFilterEnabled = iTrue; + d->isRespLocked = iFalse; + d->isRespFiltered = iFalse; set_Atomic(&d->allowUpdate, iTrue); init_String(&d->url); init_Gopher(&d->gopher); -- cgit v1.2.3