Allan McRae <[email protected]> on Fri, 2021/05/28 12:39:
> On 26/5/21 6:22 pm, Christian Hesse wrote:
> > Andrew Gregory <[email protected]> on Mon, 2021/05/24 11:50:  
> >> On 05/24/21 at 08:31pm, Christian Hesse wrote:  
> >>> Christian Hesse <[email protected]> on Fri, 2021/05/21 10:06:    
> >>>> By setting an extra HTTP header 'X-Pacman-Expected-Failure' the server
> >>>> can indicate that the failure is expected. The next server is tried
> >>>> without error message and without increasing the server's error count.
> >>>>
> >>>> This can be used by servers that are not expected to be complete, for
> >>>> example when serving a local cache.    
> >>>
> >>> Any comment on this?
> >>> Where to document the behavior?
> >>>
> >>> BTW, this is the matching branch for pacredir:
> >>> https://github.com/eworm-de/pacredir/commits/404-header    
> >>de/pacredir/commits/404-header  
> >>
> >> I'm not a fan of having this be server-side.  
> > 
> > Would be a perfect fit for me and my use case. :-p
> > 
> > For those interested... I created simple flow charts to describe what
> > happens when pacman sends its requests to pacredir.
> > https://git.eworm.de/cgit/pacredir/about/FLOW.md
> >   
> 
> Thanks - that helps a bit.
> 
> I'm still confused about how pacredir updates databases from a mirror.
> I can see how it gets a database update from another host.  Can you clarify?

Ok, let's see a more detailed example:

* pacman sends a request to pacredir, the header contains a timestamp from
  synced database file in /var/lib/pacman/sync/:
  If-Modified-Since: Fri, 28 May 2021 04:38:25 GMT
* pacredir sends HEAD requests to pacserve on hosts in local network
* pacserve answers with 200, but the header contains a timestamp:
  Last-Modified: Fri, 28 May 2021 04:38:25 GMT
* pacredir sends a 307 with redirect to the host with most recent db file - or
  404 if all requested db files are older or of same age as local file
-- 
main(a){char*c=/*    Schoene Gruesse                         */"B?IJj;MEH"
"CX:;",b;for(a/*    Best regards             my address:    */=0;b=c[a++];)
putchar(b-1/(/*    Chris            cc -ox -xc - && ./x    */b/42*2-3)*42);}

Attachment: pgp9He8hvqnGm.pgp
Description: OpenPGP digital signature

Reply via email to