Modern way to distinguish executable files?

Hi,

In ye olde nginx 0.5 I used the following to direct requests for
executable files to fcgiwrap (for CGI support):

location / {
root /some/where;

fastcgi setup

if (-x $request_filename) {
fastcgi_pass unix:/tmp/fcgiwrap.sock;
}
}

What is the modern-day equivalent of this config (try_files and stuff)?
I know I’ll have to keep the if(-x) somewhere but I’m looking for a
clean way to wrap it. I’d expect something like this but can’t remember
how to unconditionally direct requests to a named location:

location @upstream {

fastcgi setup

fastcgi_pass unix:/tmp/fcgiwrap.sock;
}

location / {
root /some/where;

if (-x $request_filename) {
# almost hurts to type this :wink:
try_files /nonexistent @upstream;
}
}

All suggestions appreciated.

On a semi-related note, is the try_files config inherited in nested
locations? i.e. will the following pass requests for /sub/uri to
@upstream?

location / {
location /sub {
auth_basic “Hands off!”;
auth_basic_user_file /a/good/place;
}

try_files $uri $uri/ @upstream;
}

Best regards,
Grzegorz N.