mirror of
https://github.com/mimblewimble/grin.git
synced 2025-02-08 04:11:08 +03:00
Upate version api call (#2899)
This commit is contained in:
parent
c2153fada2
commit
5d6defb2eb
2 changed files with 17 additions and 8 deletions
|
@ -18,8 +18,8 @@ mod peers_api;
|
||||||
mod pool_api;
|
mod pool_api;
|
||||||
mod server_api;
|
mod server_api;
|
||||||
mod transactions_api;
|
mod transactions_api;
|
||||||
mod version_api;
|
|
||||||
mod utils;
|
mod utils;
|
||||||
|
mod version_api;
|
||||||
|
|
||||||
use self::blocks_api::BlockHandler;
|
use self::blocks_api::BlockHandler;
|
||||||
use self::blocks_api::HeaderHandler;
|
use self::blocks_api::HeaderHandler;
|
||||||
|
@ -33,10 +33,10 @@ use self::peers_api::PeersConnectedHandler;
|
||||||
use self::pool_api::PoolInfoHandler;
|
use self::pool_api::PoolInfoHandler;
|
||||||
use self::pool_api::PoolPushHandler;
|
use self::pool_api::PoolPushHandler;
|
||||||
use self::server_api::IndexHandler;
|
use self::server_api::IndexHandler;
|
||||||
use self::server_api::StatusHandler;
|
|
||||||
use self::server_api::KernelDownloadHandler;
|
use self::server_api::KernelDownloadHandler;
|
||||||
use self::version_api::VersionHandler;
|
use self::server_api::StatusHandler;
|
||||||
use self::transactions_api::TxHashSetHandler;
|
use self::transactions_api::TxHashSetHandler;
|
||||||
|
use self::version_api::VersionHandler;
|
||||||
use crate::auth::{BasicAuthMiddleware, GRIN_BASIC_REALM};
|
use crate::auth::{BasicAuthMiddleware, GRIN_BASIC_REALM};
|
||||||
use crate::chain;
|
use crate::chain;
|
||||||
use crate::p2p;
|
use crate::p2p;
|
||||||
|
@ -160,7 +160,9 @@ pub fn build_router(
|
||||||
let peer_handler = PeerHandler {
|
let peer_handler = PeerHandler {
|
||||||
peers: Arc::downgrade(&peers),
|
peers: Arc::downgrade(&peers),
|
||||||
};
|
};
|
||||||
let version_handler = VersionHandler;
|
let version_handler = VersionHandler {
|
||||||
|
chain: Arc::downgrade(&chain),
|
||||||
|
};
|
||||||
|
|
||||||
let mut router = Router::new();
|
let mut router = Router::new();
|
||||||
|
|
||||||
|
|
|
@ -12,25 +12,32 @@
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
use crate::core::core::block::HeaderVersion;
|
use super::utils::w;
|
||||||
|
use crate::chain;
|
||||||
use crate::rest::*;
|
use crate::rest::*;
|
||||||
use crate::router::{Handler, ResponseFuture};
|
use crate::router::{Handler, ResponseFuture};
|
||||||
use crate::types::Version;
|
use crate::types::Version;
|
||||||
use crate::web::*;
|
use crate::web::*;
|
||||||
use hyper::{Body, Request};
|
use hyper::{Body, Request};
|
||||||
|
use std::sync::Weak;
|
||||||
|
|
||||||
const CRATE_VERSION: &'static str = env!("CARGO_PKG_VERSION");
|
const CRATE_VERSION: &'static str = env!("CARGO_PKG_VERSION");
|
||||||
|
|
||||||
/// Version handler. Get running node API version
|
/// Version handler. Get running node API version
|
||||||
/// GET /v1/version
|
/// GET /v1/version
|
||||||
pub struct VersionHandler;
|
pub struct VersionHandler {
|
||||||
|
pub chain: Weak<chain::Chain>,
|
||||||
|
}
|
||||||
|
|
||||||
impl VersionHandler {
|
impl VersionHandler {
|
||||||
fn get_version(&self) -> Result<Version, Error> {
|
fn get_version(&self) -> Result<Version, Error> {
|
||||||
|
let head = w(&self.chain)?
|
||||||
|
.head_header()
|
||||||
|
.map_err(|e| ErrorKind::Internal(format!("can't get head: {}", e)))?;
|
||||||
|
|
||||||
Ok(Version {
|
Ok(Version {
|
||||||
node_version: CRATE_VERSION.to_owned(),
|
node_version: CRATE_VERSION.to_owned(),
|
||||||
block_header_version: HeaderVersion::default().into(),
|
block_header_version: head.version.into(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue