Skip to content

Commit 225d640

Browse files
fix: ingestion with POST /lostream/{logstream} API (#868)
works well in standalone server but fails in distributed withe error - method not allowed. This PR adds the API POST /lostream/{logstream} in the scope of logstream apis for ingestor server. Also adds a check to return error if stream does not exist
1 parent e6f1e2a commit 225d640

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

server/src/handlers/http/ingest.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,9 @@ pub async fn post_event(req: HttpRequest, body: Bytes) -> Result<HttpResponse, P
182182
stream_name
183183
)));
184184
}
185+
if !STREAM_INFO.stream_exists(&stream_name) {
186+
return Err(PostError::StreamNotFound(stream_name));
187+
}
185188
flatten_and_push_logs(req, body, stream_name).await?;
186189
Ok(HttpResponse::Ok().finish())
187190
}

server/src/handlers/http/modal/ingest_server.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use crate::analytics;
1919
use crate::banner;
2020
use crate::handlers::airplane;
21+
use crate::handlers::http::ingest;
2122
use crate::handlers::http::logstream;
2223
use crate::handlers::http::middleware::RouteExt;
2324
use crate::localcache::LocalCacheManager;
@@ -167,15 +168,23 @@ impl IngestServer {
167168
web::scope("/{logstream}")
168169
.service(
169170
web::resource("")
171+
// DELETE "/logstream/{logstream}" ==> Delete a log stream
170172
.route(
171173
web::delete()
172174
.to(logstream::delete)
173175
.authorize_for_stream(Action::DeleteStream),
174176
)
177+
// PUT "/logstream/{logstream}" ==> Create a new log stream
175178
.route(
176179
web::put()
177180
.to(logstream::put_stream)
178181
.authorize_for_stream(Action::CreateStream),
182+
)
183+
// POST "/logstream/{logstream}" ==> Post logs to given log stream
184+
.route(
185+
web::post()
186+
.to(ingest::post_event)
187+
.authorize_for_stream(Action::Ingest),
179188
),
180189
)
181190
.service(

0 commit comments

Comments
 (0)