func URLPart(ctx context.Context, r *http.Request, i int) (context.Context, string, bool) {
	ctx, parts := URLParts(ctx, r)
	if len(parts) > i && i >= 0 {
		return ctx, parts[i], true
	}
	return ctx, "", false
}
func URLPart(ctx context.Context, r *http.Request, i int) (context.Context, string, bool) {
	ctx, parts := URLParts(ctx, r)
	if len(parts) > i && i >= 0 {
		return ctx, parts[i], true
	}
	return ctx, "", false
}
func URLPart ( ctx context . Context , r * http . Request , i int ) ( context . Context , string , bool ) { ctx , parts := URLParts ( ctx , r ) if len ( parts ) > i && i >= 0 { return ctx , parts [ i ] , true } return ctx , " " , false }
// URLPart returns a part of the url and caches it in the context
URLPart returns a part of the url and caches it in the context