Class StreamProcessingController

java.lang.Object
com.streamconverter.web.StreamProcessingController

@RestController @RequestMapping("/api/v1/stream") public class StreamProcessingController extends Object
Web API controller for StreamConverter processing.

Provides REST endpoints to process data streams using existing StreamConverter functionality.

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<String>>
    Health check endpoint.
    reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>>
    processCsvExtraction(reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, String columnName)
    Process data stream with CSV extraction.
    reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>>
    processJsonExtraction(reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, String jsonPath)
    Process data stream with JSON path extraction.
    reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>>
    processWithPipeline(reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, String pipelineConfig)
    Process data stream with custom command pipeline.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • processCsvExtraction

      @PostMapping(value="/csv/extract", consumes="application/octet-stream", produces="application/octet-stream") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>> processCsvExtraction(@RequestBody reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, @RequestParam String columnName)
      Process data stream with CSV extraction.
      Parameters:
      inputData - binary input data
      columnName - CSV column name to extract
      Returns:
      processed data as binary stream
    • processJsonExtraction

      @PostMapping(value="/json/extract", consumes="application/octet-stream", produces="application/octet-stream") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>> processJsonExtraction(@RequestBody reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, @RequestParam String jsonPath)
      Process data stream with JSON path extraction.
      Parameters:
      inputData - binary input data
      jsonPath - JSON path expression
      Returns:
      processed data as binary stream
    • processWithPipeline

      @PostMapping(value="/process", consumes="application/octet-stream", produces="application/octet-stream") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>>> processWithPipeline(@RequestBody reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> inputData, @RequestHeader("X-Pipeline-Config") String pipelineConfig)
      Process data stream with custom command pipeline.
      Parameters:
      inputData - binary input data
      pipelineConfig - pipeline configuration header
      Returns:
      processed data as binary stream
    • health

      @GetMapping("/health") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<String>> health()
      Health check endpoint.
      Returns:
      simple health status