> For the complete documentation index, see [llms.txt](https://elixor.js.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elixor.js.org/getting-json-data/reading-the-full-response.md).

# Reading the full response

​The response body doesn't return all the data you may need. Sometimes servers return special headers or status codes to indicate certain conditions that are important to the application workflow.

Tell `Elixor` that you want the full response with the `observe` option:

```typescript
getConfigResponse(): Observable<HttpResponse<Config[]>> {
  return elixor.get<Config[]>(
    this.configUrl, { observe: 'response' });
}
```

Now [`Elixor.get()`](https://elixor.gitbook.io/elixor/getting-json-data) returns an `Observable` of typed `HttpResponse` rather than just the JSON data.

The component's `showConfigResponse()` method displays the response headers as well as the configuration:

{% code title="Config.tsx" %}

```typescript
showConfigResponse() {
  getConfigResponse()
    // resp is of type `HttpResponse<Config>`
    .subscribe(resp => {
      // display its headers
      const keys = resp.headers.keys();
      this.headers = keys.map(key =>
        `${key}: ${resp.headers.get(key)}`);

      // access the body directly, which is typed as `Config`.
      this.config = { ... resp.body };
    });
}
```

{% endcode %}

As you can see, the response object has a `body` property of the correct type.
