equal
deleted
inserted
replaced
52 MAX_URL_MAPS = 100 |
52 MAX_URL_MAPS = 100 |
53 |
53 |
54 APPLICATION_RE_STRING = r'(?!-)[a-z\d\-]{1,%d}' % APP_ID_MAX_LEN |
54 APPLICATION_RE_STRING = r'(?!-)[a-z\d\-]{1,%d}' % APP_ID_MAX_LEN |
55 VERSION_RE_STRING = r'(?!-)[a-z\d\-]{1,%d}' % MAJOR_VERSION_ID_MAX_LEN |
55 VERSION_RE_STRING = r'(?!-)[a-z\d\-]{1,%d}' % MAJOR_VERSION_ID_MAX_LEN |
56 |
56 |
|
57 RUNTIME_RE_STRING = r'[a-z]{1,30}' |
|
58 |
57 HANDLER_STATIC_FILES = 'static_files' |
59 HANDLER_STATIC_FILES = 'static_files' |
58 HANDLER_STATIC_DIR = 'static_dir' |
60 HANDLER_STATIC_DIR = 'static_dir' |
59 HANDLER_SCRIPT = 'script' |
61 HANDLER_SCRIPT = 'script' |
60 |
62 |
61 LOGIN_OPTIONAL = 'optional' |
63 LOGIN_OPTIONAL = 'optional' |
63 LOGIN_ADMIN = 'admin' |
65 LOGIN_ADMIN = 'admin' |
64 |
66 |
65 SECURE_HTTP = 'never' |
67 SECURE_HTTP = 'never' |
66 SECURE_HTTPS = 'always' |
68 SECURE_HTTPS = 'always' |
67 SECURE_HTTP_OR_HTTPS = 'optional' |
69 SECURE_HTTP_OR_HTTPS = 'optional' |
68 |
|
69 RUNTIME_PYTHON = 'python' |
|
70 |
70 |
71 DEFAULT_SKIP_FILES = (r"^(.*/)?(" |
71 DEFAULT_SKIP_FILES = (r"^(.*/)?(" |
72 r"(app\.yaml)|" |
72 r"(app\.yaml)|" |
73 r"(app\.yml)|" |
73 r"(app\.yml)|" |
74 r"(index\.yaml)|" |
74 r"(index\.yaml)|" |
302 ATTRIBUTES = { |
302 ATTRIBUTES = { |
303 |
303 |
304 |
304 |
305 APPLICATION: APPLICATION_RE_STRING, |
305 APPLICATION: APPLICATION_RE_STRING, |
306 VERSION: VERSION_RE_STRING, |
306 VERSION: VERSION_RE_STRING, |
307 RUNTIME: validation.Options(RUNTIME_PYTHON), |
307 RUNTIME: RUNTIME_RE_STRING, |
308 |
308 |
309 |
309 |
310 API_VERSION: validation.Options('1', 'beta'), |
310 API_VERSION: validation.Options('1', 'beta'), |
311 HANDLERS: validation.Optional(validation.Repeated(URLMap)), |
311 HANDLERS: validation.Optional(validation.Repeated(URLMap)), |
312 DEFAULT_EXPIRATION: validation.Optional(_EXPIRATION_REGEX), |
312 DEFAULT_EXPIRATION: validation.Optional(_EXPIRATION_REGEX), |