realconnex/http-response

Realconnex response library.

0.0.6 2018-11-28 13:09 UTC

This package is not auto-updated.

Last update: 2025-06-05 22:20:11 UTC


README

This is made to standardize service http responses

Installation

$ composer require realconnex/http-response

Register class as a service in service.yml

Realconnex\HttpResponse:
    autowire: true

To send simple response(e.g.: entity)

public function getFeedById(Feeds $feed, HttpResponse $response) : HttpResponse
{
    return $response->setContent($feed)->sendResponse();
}

Or if result is an array of data

public function getFeeds(Request $request, HttpResponse $response) : HttpResponse
{
    $page = (int)$request->get('page', 1);
    $limit = (int)$request->get('limit', 20);
    $data = $this->repository->list($page, $limit);

    return $response
        ->setItems($items)
        ->setPage($currentPage)
        ->setTotalPages($totalPages])
        ->setNextPage($nextPage)
        ->setPrevPage($prevPage)
        ->setLimit($limit)
        ->sendResponse();
}

Or operation result

public function deleteFeed(Feeds $feed, HttpResponse $response) : HttpResponse
{
    return $response->setResult($this->repository->delete($feed))->sendResponse();
}

If you don't want to send response variable through parameters you can instantiate in manually, but you should send serializer in HttpResponse constructor

$response = new HttpResponse(SerializerInterface $serializer);
$response->setItems($items)->sendResponse();

NOTE: You MUST send response at the end like ->sendResponse();

List of allowed setters

setItems(array $items = [])
setLimit(int $limit)
setPage(int $page)
setOffset(?int $page)
setTotalPages(int $pages)
setNextPage(?int $page)
setPrevPage(?int $page)
setSerializationGroups(array $groups = ['out'])
setHeaders(array $headers = ['Content-Type' => 'application/json'])
setStatusCode(int $status = 200)