api change for weird cors v2
This commit is contained in:
parent
b92626b677
commit
1802461f77
@ -154,7 +154,6 @@ Future<String> fetchBusinessData() async {
|
|||||||
//set defaults
|
//set defaults
|
||||||
String _hostname = 'localhost';
|
String _hostname = 'localhost';
|
||||||
const _port = 8000;
|
const _port = 8000;
|
||||||
Map<String, String> headers = {...headers, 'Access-Control-Allow-Methods': '*'};
|
|
||||||
|
|
||||||
final postgres = PostgreSQLConnection(
|
final postgres = PostgreSQLConnection(
|
||||||
Platform.environment['JOBLINK_POSTGRES_ADDRESS']!,
|
Platform.environment['JOBLINK_POSTGRES_ADDRESS']!,
|
||||||
@ -169,13 +168,22 @@ void main() async {
|
|||||||
|
|
||||||
final app = Router();
|
final app = Router();
|
||||||
|
|
||||||
|
// CORS preflight acceptor
|
||||||
|
app.options('/<ignored|.*>', (Request request) {
|
||||||
|
return Response.ok(null, headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Access-Control-Allow-Methods': 'POST, GET, OPTIONS',
|
||||||
|
'Access-Control-Allow-Headers': 'Content-Type',
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// routes
|
// routes
|
||||||
app.get('/fbla-api/hello', (Request request) async {
|
app.get('/fbla-api/hello', (Request request) async {
|
||||||
print('Hello received');
|
print('Hello received');
|
||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
'Hello, World!',
|
'Hello, World!',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.get('/fbla-api/businessdata/overview/jobs', (Request request) async {
|
app.get('/fbla-api/businessdata/overview/jobs', (Request request) async {
|
||||||
@ -232,7 +240,10 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
json.encode(postgresResult[0][0]),
|
json.encode(postgresResult[0][0]),
|
||||||
headers: {...headers, 'Content-Type': 'text/plain'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'text/plain'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.get('/fbla-api/businessdata/overview/types', (Request request) async {
|
app.get('/fbla-api/businessdata/overview/types', (Request request) async {
|
||||||
@ -267,7 +278,10 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
json.encode(output),
|
json.encode(output),
|
||||||
headers: {...headers, 'Content-Type': 'text/plain'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'text/plain'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.get('/fbla-api/businessdata/businessnames', (Request request) async {
|
app.get('/fbla-api/businessdata/businessnames', (Request request) async {
|
||||||
@ -284,7 +298,10 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
json.encode(postgresResult),
|
json.encode(postgresResult),
|
||||||
headers: {...headers, 'Content-Type': 'text/plain'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'text/plain'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.get('/fbla-api/businessdata/business/<business>',
|
app.get('/fbla-api/businessdata/business/<business>',
|
||||||
@ -330,7 +347,10 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
json.encode(result),
|
json.encode(result),
|
||||||
headers: {...headers, 'Content-Type': 'text/plain'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'text/plain'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.get('/fbla-api/businessdata/businesses', (Request request) async {
|
app.get('/fbla-api/businessdata/businesses', (Request request) async {
|
||||||
@ -339,7 +359,10 @@ void main() async {
|
|||||||
if (request.url.queryParameters['businesses'] == null) {
|
if (request.url.queryParameters['businesses'] == null) {
|
||||||
return Response.badRequest(
|
return Response.badRequest(
|
||||||
body: 'query \'businesses\' required',
|
body: 'query \'businesses\' required',
|
||||||
headers: {...headers, 'Content-Type': 'text/plain'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'text/plain'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
var filters = request.url.queryParameters['businesses']!.split(',');
|
var filters = request.url.queryParameters['businesses']!.split(',');
|
||||||
@ -369,7 +392,10 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
json.encode(output),
|
json.encode(output),
|
||||||
headers: {...headers, 'Content-Type': 'text/plain'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'text/plain'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.get('/fbla-api/businessdata', (Request request) async {
|
app.get('/fbla-api/businessdata', (Request request) async {
|
||||||
@ -395,7 +421,10 @@ void main() async {
|
|||||||
var encoded = json.encode(result[0][0]);
|
var encoded = json.encode(result[0][0]);
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
encoded,
|
encoded,
|
||||||
headers: {...headers, 'Content-Type': 'text/plain'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'text/plain'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.get('/fbla-api/logos/<logo>', (Request request, String logoId) {
|
app.get('/fbla-api/logos/<logo>', (Request request, String logoId) {
|
||||||
@ -406,13 +435,19 @@ void main() async {
|
|||||||
List<int> content = logo.readAsBytesSync();
|
List<int> content = logo.readAsBytesSync();
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
content,
|
content,
|
||||||
headers: {...headers, 'Content-Type': 'image/png'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'image/png'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print('Error reading logo!');
|
print('Error reading logo!');
|
||||||
return Response.notFound(
|
return Response.notFound(
|
||||||
'logo not found',
|
'logo not found',
|
||||||
headers: {...headers, 'Content-Type': 'image/png'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'image/png'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -444,7 +479,7 @@ void main() async {
|
|||||||
}
|
}
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
id.toString(),
|
id.toString(),
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
} on JWTExpiredException {
|
} on JWTExpiredException {
|
||||||
print('JWT Expired');
|
print('JWT Expired');
|
||||||
@ -454,7 +489,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'unauthorized',
|
'unauthorized',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.post('/fbla-api/createlisting', (Request request) async {
|
app.post('/fbla-api/createlisting', (Request request) async {
|
||||||
@ -479,7 +514,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
id.toString(),
|
id.toString(),
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
} on JWTExpiredException {
|
} on JWTExpiredException {
|
||||||
print('JWT Expired');
|
print('JWT Expired');
|
||||||
@ -489,7 +524,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'unauthorized',
|
'unauthorized',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.post('/fbla-api/deletebusiness', (Request request) async {
|
app.post('/fbla-api/deletebusiness', (Request request) async {
|
||||||
@ -512,7 +547,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
id.toString(),
|
id.toString(),
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
} on JWTExpiredException {
|
} on JWTExpiredException {
|
||||||
print('JWT Expired');
|
print('JWT Expired');
|
||||||
@ -522,7 +557,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'unauthorized',
|
'unauthorized',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.post('/fbla-api/deletelisting', (Request request) async {
|
app.post('/fbla-api/deletelisting', (Request request) async {
|
||||||
@ -539,7 +574,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
id.toString(),
|
id.toString(),
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
} on JWTExpiredException {
|
} on JWTExpiredException {
|
||||||
print('JWT Expired');
|
print('JWT Expired');
|
||||||
@ -549,7 +584,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'unauthorized',
|
'unauthorized',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.post('/fbla-api/editbusiness', (Request request) async {
|
app.post('/fbla-api/editbusiness', (Request request) async {
|
||||||
@ -586,7 +621,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
business.id.toString(),
|
business.id.toString(),
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
} on JWTExpiredException {
|
} on JWTExpiredException {
|
||||||
print('JWT Expired');
|
print('JWT Expired');
|
||||||
@ -596,7 +631,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'unauthorized',
|
'unauthorized',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.post('/fbla-api/editlisting', (Request request) async {
|
app.post('/fbla-api/editlisting', (Request request) async {
|
||||||
@ -619,7 +654,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
listing.id.toString(),
|
listing.id.toString(),
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
} on JWTExpiredException {
|
} on JWTExpiredException {
|
||||||
print('JWT Expired');
|
print('JWT Expired');
|
||||||
@ -629,7 +664,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'unauthorized',
|
'unauthorized',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.post('/fbla-api/signin', (Request request) async {
|
app.post('/fbla-api/signin', (Request request) async {
|
||||||
@ -645,7 +680,7 @@ void main() async {
|
|||||||
if (saltDb.isEmpty) {
|
if (saltDb.isEmpty) {
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'invalid username',
|
'invalid username',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -686,12 +721,12 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
token.toString(),
|
token.toString(),
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'invalid password',
|
'invalid password',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -735,7 +770,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
username,
|
username,
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
} on JWTExpiredException {
|
} on JWTExpiredException {
|
||||||
print('JWT Expired');
|
print('JWT Expired');
|
||||||
@ -745,7 +780,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'unauthorized',
|
'unauthorized',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.post('/fbla-api/deleteuser', (Request request) async {
|
app.post('/fbla-api/deleteuser', (Request request) async {
|
||||||
@ -767,7 +802,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
username,
|
username,
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
} on JWTExpiredException {
|
} on JWTExpiredException {
|
||||||
print('JWT Expired');
|
print('JWT Expired');
|
||||||
@ -777,7 +812,7 @@ void main() async {
|
|||||||
|
|
||||||
return Response.unauthorized(
|
return Response.unauthorized(
|
||||||
'unauthorized',
|
'unauthorized',
|
||||||
headers: headers,
|
headers: {'Access-Control-Allow-Origin': '*'},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
app.get('/fbla-api/marinodev', (Request request) async {
|
app.get('/fbla-api/marinodev', (Request request) async {
|
||||||
@ -788,7 +823,10 @@ void main() async {
|
|||||||
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
content,
|
content,
|
||||||
headers: {...headers, 'Content-Type': 'image/svg+xml'},
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Content-Type': 'image/svg+xml'
|
||||||
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user