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 = [ $user->v2ray_user = [
"uuid" => $user->uuid, "uuid" => $user->uuid,
"email" => sprintf("%s@v2board.user", $user->uuid), "email" => sprintf("%s@v2board.user", $user->uuid),
"alter_id" => $user->v2ray_alter_id, "alter_id" => $server->alter_id,
"level" => $user->v2ray_level, "level" => 0,
]; ];
unset($user['uuid']); unset($user['uuid']);
unset($user['v2ray_alter_id']); unset($user['email']);
unset($user['v2ray_level']);
array_push($result, $user); array_push($result, $user);
} }
@ -136,9 +135,23 @@ class PoseidonController extends Controller
} }
protected function success($data) { protected function success($data) {
$req = request();
// Only for "GET" method
if (!$req->isMethod('GET') || !$data) {
return response([ return response([
'msg' => 'ok', 'msg' => 'ok',
'data' => $data, '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);
}
} }