Merge pull request #343 from ColetteContreras/fixPoseidon

Fix Poseidon, add ETag
This commit is contained in:
tokumeikoi 2020-11-19 12:24:19 +08:00 committed by GitHub
commit a0dcf51c28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -45,12 +45,11 @@ class PoseidonController extends Controller
$user->v2ray_user = [
"uuid" => $user->uuid,
"email" => sprintf("%s@v2board.user", $user->uuid),
"alter_id" => $user->v2ray_alter_id,
"level" => $user->v2ray_level,
"alter_id" => $server->alter_id,
"level" => 0,
];
unset($user['uuid']);
unset($user['v2ray_alter_id']);
unset($user['v2ray_level']);
unset($user['email']);
array_push($result, $user);
}
@ -136,9 +135,23 @@ class PoseidonController extends Controller
}
protected function success($data) {
$req = request();
// Only for "GET" method
if (!$req->isMethod('GET') || !$data) {
return response([
'msg' => 'ok',
'data' => $data,
]);
}
$etag = sha1(json_encode($data));
if ($etag == $req->header("IF-NONE-MATCH")) {
return response(null, 304);
}
return response([
'msg' => 'ok',
'data' => $data,
])->header('ETAG', $etag);
}
}