Mercurial > hg > nginx-quic
view auto/lib/zlib/make @ 8047:7015f26aef90
Cache: ignore stale-if-error for 4xx and 5xx codes.
Previously the stale-if-error extension of the Cache-Control upstream header
triggered the return of a stale response for all error conditions that can be
specified in the proxy_cache_use_stale directive. The list of these errors
includes both network/timeout/format errors, as well as some HTTP codes like
503, 504, 403, 429 etc. The latter prevented a cache entry from being updated
by a response with any of these HTTP codes during the stale-if-error period.
Now stale-if-error only works for network/timeout/format errors and ignores
the upstream HTTP code. The return of a stale response for certain HTTP codes
is still possible using the proxy_cache_use_stale directive.
This change also applies to the stale-while-revalidate extension of the
Cache-Control header, which triggers stale-if-error if it is missing.
Reported at
http://mailman.nginx.org/pipermail/nginx/2020-July/059723.html.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Wed, 29 Jul 2020 13:28:04 +0300 |
parents | 78f8ac479735 |
children |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. case "$NGX_CC_NAME" in msvc) ngx_makefile=makefile.msvc ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC" ngx_zlib="ZLIB=\"$ZLIB\"" ;; owc) ngx_makefile=makefile.owc ngx_opt="CPU_OPT=\"$CPU_OPT\"" ngx_zlib=`echo ZLIB=\"$ZLIB\" | sed -e "s/\//$ngx_regex_dirsep/g"` ;; bcc) ngx_makefile=makefile.bcc ngx_opt="-DCPU_OPT=\"$CPU_OPT\"" ngx_zlib=`echo \-DZLIB=\"$ZLIB\" | sed -e "s/\//$ngx_regex_dirsep/g"` ;; *) ngx_makefile= ;; esac done=NO case "$NGX_PLATFORM" in win32) if [ -n "$ngx_makefile" ]; then cat << END >> $NGX_MAKEFILE `echo "$ZLIB/zlib.lib: $NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"` \$(MAKE) -f auto/lib/zlib/$ngx_makefile $ngx_opt $ngx_zlib END else cat << END >> $NGX_MAKEFILE $ZLIB/libz.a: $NGX_MAKEFILE cd $ZLIB \\ && \$(MAKE) distclean \\ && \$(MAKE) -f win32/Makefile.gcc \\ CFLAGS="$ZLIB_OPT" CC="\$(CC)" \\ libz.a END fi done=YES ;; # FreeBSD: i386 # Linux: i686 *:i386 | *:i686) case $ZLIB_ASM in pentium) cat << END >> $NGX_MAKEFILE $ZLIB/libz.a: $NGX_MAKEFILE cd $ZLIB \\ && \$(MAKE) distclean \\ && cp contrib/asm586/match.S . \\ && CFLAGS="$ZLIB_OPT -DASMV" CC="\$(CC)" \\ ./configure \\ && \$(MAKE) OBJA=match.o libz.a END done=YES ;; pentiumpro) cat << END >> $NGX_MAKEFILE $ZLIB/libz.a: $NGX_MAKEFILE cd $ZLIB \\ && \$(MAKE) distclean \\ && cp contrib/asm686/match.S . \\ && CFLAGS="$ZLIB_OPT -DASMV" CC="\$(CC)" \\ ./configure \\ && \$(MAKE) OBJA=match.o libz.a END done=YES ;; NO) ;; *) echo "$0: error: invalid --with-zlib-asm=$ZLIB_ASM option." echo "The valid values are \"pentium\" and \"pentiumpro\" only". echo exit 1; ;; esac ;; esac if [ $done = NO ]; then cat << END >> $NGX_MAKEFILE $ZLIB/libz.a: $NGX_MAKEFILE cd $ZLIB \\ && \$(MAKE) distclean \\ && CFLAGS="$ZLIB_OPT" CC="\$(CC)" \\ ./configure \\ && \$(MAKE) libz.a END fi