Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add parameter validation and refactor code #48

Closed
wants to merge 43 commits into from
Closed
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
73e8574
Add parameter validation and refactor code to reduce duplication
devin-ai-integration[bot] May 18, 2024
7a644e0
Update error message for geojson validation
devin-ai-integration[bot] May 18, 2024
784a5fc
Commit all changes before restarting server
devin-ai-integration[bot] May 18, 2024
b61f4ac
Add detailed logging for map rendering process
devin-ai-integration[bot] May 18, 2024
622039e
Enhance network activity logging in configCache function
devin-ai-integration[bot] May 18, 2024
60deed6
Refine GeoJSON validation logic and remove unused variable
devin-ai-integration[bot] May 18, 2024
5a058a0
Add detailed logging for geojson validation
devin-ai-integration[bot] May 18, 2024
3b68bdf
Add additional logging to template.html for map rendering diagnostics
devin-ai-integration[bot] May 18, 2024
787b604
Add additional logging for GET and POST request bodies in server.js
devin-ai-integration[bot] May 18, 2024
25b3b1e
Add additional logging to diagnose map rendering issue
devin-ai-integration[bot] May 18, 2024
49af4be
Remove unused variable from catch block in isValidGeojson function
devin-ai-integration[bot] May 18, 2024
2f7b9ed
Add detailed logging to validation functions in lib.js
devin-ai-integration[bot] May 18, 2024
8b903bd
Add additional logging to template.html for map rendering diagnostics
devin-ai-integration[bot] May 18, 2024
ed7a671
Improve error logging for GeoJSON validation in lib.js
devin-ai-integration[bot] May 18, 2024
cf6b6d7
Add detailed logging to map 'load' event handler in template.html
devin-ai-integration[bot] May 18, 2024
da56aea
Improve validation logic and remove unnecessary logging
devin-ai-integration[bot] May 18, 2024
29cc8a9
Refine GeoJSON validation logic
devin-ai-integration[bot] May 18, 2024
a73f797
Fix syntax error in lib.js and improve GeoJSON validation logging
devin-ai-integration[bot] May 18, 2024
435b0b8
Add checks to ensure GeoJSON string is valid JSON before parsing
devin-ai-integration[bot] May 18, 2024
e224b84
Add logging for received options object
devin-ai-integration[bot] May 18, 2024
74ea8af
Fix linter error by replacing backticks with single quotes in console…
devin-ai-integration[bot] May 18, 2024
fdab173
Update timeout in test-validation.js to match evaluate function
devin-ai-integration[bot] May 18, 2024
9fedc20
Update default timeout in optionConfigs to 60 seconds
devin-ai-integration[bot] May 18, 2024
c836e65
Add logging for geojson parameter before osmsm call
devin-ai-integration[bot] May 18, 2024
1a1b6de
Add detailed logging to GeoJSON validation functions
devin-ai-integration[bot] May 18, 2024
ec59741
Fix linter errors: replace backticks with single quotes in console.lo…
devin-ai-integration[bot] May 18, 2024
9900991
Add detailed logging for map load event in template.html
devin-ai-integration[bot] May 18, 2024
4a0471d
Remove duplicate isValidGeojson function declaration
devin-ai-integration[bot] May 18, 2024
675071e
Fix linter error: Use single quotes for strings
devin-ai-integration[bot] May 18, 2024
82a2f9f
Add additional logging to diagnose map rendering process
devin-ai-integration[bot] May 18, 2024
4f688df
Parse geojson parameter and handle errors
devin-ai-integration[bot] May 18, 2024
bcee8c5
Refine geojson parameter handling and improve error messaging
devin-ai-integration[bot] May 18, 2024
f07eca6
Improve error message for parameter validation
devin-ai-integration[bot] May 18, 2024
5caaf09
Add detailed logging for zoom parameter validation
devin-ai-integration[bot] May 18, 2024
4cbf574
Fix function reference for GeoJSON validation
devin-ai-integration[bot] May 18, 2024
e07a51a
Change server listening port to 3001
devin-ai-integration[bot] May 18, 2024
dbb13f2
Fix default value for markerIconOptions to be an empty object
devin-ai-integration[bot] May 18, 2024
1d8d947
Update server.js to enhance GeoJSON parameter handling and logging
devin-ai-integration[bot] May 18, 2024
7f98bec
Update README.md with parameter validation details
devin-ai-integration[bot] May 18, 2024
4c48313
Add URL validation to prevent SSRF and improve error handling
devin-ai-integration[bot] May 18, 2024
518db84
Implement rate limiting and XSS sanitization
devin-ai-integration[bot] May 18, 2024
b7dac8f
Update README with rate limiting and XSS sanitization info
devin-ai-integration[bot] May 18, 2024
4b6f590
Sanitize error messages to prevent XSS vulnerabilities
devin-ai-integration[bot] May 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
module.exports = {
languageOptions: {
ecmaVersion: 12,
sourceType: 'module',
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly',
process: 'readonly',
require: 'readonly',
module: 'readonly',
console: 'readonly',
__dirname: 'readonly',
setTimeout: 'readonly', // Added to define setTimeout as a global variable
window: 'writable' // Added to define window as a global variable, writable because it can be modified in a browser context
}
},
rules: {
// Existing rules
indent: ['error', 2],
'linebreak-style': ['error', 'unix'],
quotes: ['error', 'single'],
semi: ['error', 'always'],
// Added "eslint:recommended" rules
'array-callback-return': 'error',
'constructor-super': 'error',
'for-direction': 'error',
'getter-return': 'error',
'no-async-promise-executor': 'error',
'no-await-in-loop': 'error',
'no-class-assign': 'error',
'no-compare-neg-zero': 'error',
'no-cond-assign': 'error',
'no-const-assign': 'error',
'no-constant-binary-expression': 'error',
'no-constant-condition': 'error',
'no-constructor-return': 'error',
'no-control-regex': 'error',
'no-debugger': 'error',
'no-dupe-args': 'error',
'no-dupe-class-members': 'error',
'no-dupe-else-if': 'error',
'no-dupe-keys': 'error',
'no-duplicate-case': 'error',
'no-duplicate-imports': 'error',
'no-empty-character-class': 'error',
'no-empty-pattern': 'error',
'no-ex-assign': 'error',
'no-fallthrough': 'error',
'no-func-assign': 'error',
'no-import-assign': 'error',
'no-inner-declarations': 'error',
'no-invalid-regexp': 'error',
'no-irregular-whitespace': 'error',
// Additional "eslint:recommended" rules
'no-loss-of-precision': 'error',
'no-misleading-character-class': 'error',
'no-new-symbol': 'error',
'no-obj-calls': 'error',
'no-octal': 'error',
'no-prototype-builtins': 'error',
'no-redeclare': 'error',
'no-regex-spaces': 'error',
'no-self-assign': 'error',
'no-setter-return': 'error',
'no-shadow-restricted-names': 'error',
'no-sparse-arrays': 'error',
'no-this-before-super': 'error',
'no-undef': 'error',
'no-unexpected-multiline': 'error',
'no-unreachable': 'error',
'no-unsafe-finally': 'error',
'no-unsafe-negation': 'error',
'no-unused-labels': 'error',
'no-unused-vars': 'error',
'no-useless-catch': 'error',
'no-useless-escape': 'error',
'no-with': 'error',
'require-atomic-updates': 'error',
'require-yield': 'error',
'use-isnan': 'error',
'valid-typeof': 'error',
// ... additional rules as identified from the ESLint documentation
'accessor-pairs': 'error',
'unicode-bom': 'error',
// ... continue adding any remaining rules
}
};
Loading
Loading