anchor.diff:    :
   +makeExample('server-communication/ts/app/main.ts', 'import-rxjs', 'app/main.ts (import rxjs)')(format=".")
   :marked
  +  <a id="map"></a>
     ### Map the response object
     Let's come back to the `HeroService` and look at the `http.get` call again to see why we needed `map()`
   +makeExample('server-communication/ts/app/toh/hero.service.ts', 'http-get-v1', 'app/toh/hero.service.ts (http.get)')(format=".")
  
positive.code:   
    This may sound a lot like black magic for people unfamiliar with Observables but as soon as the coin sinks in it's starting to make a whole world of difficult programming tasks appear much simpler.
  
  <a id="server"></a>
  .l-main-section
  :marked
    ## Appendix: Tour of Heroes in-memory server
  
negative.code: 
  include ../../../../_includes/_util-fns
  :marked
    Most applications read from or write to a remote server via HTTP or JSONP. 
    The Angular 2 http client supports both as we learn in this chapter covering:
    
    [Http client sample overview](#http-client)<br>
    [Fetch data with http.get](#fetch-data)<br>
    [Enable RxJS Operators](#enable-rxjs-operators)<br>
    [Extract JSON data with RxJS map](#map)<br>
    [Error handling](#error-handling)<br>
    [Log results to console](#do)<br>
    [Send data to the server](#update)<br>
    [Promises instead of observables](#promises)<br>
    [JSONP](#jsonp)<br>
    [Debounce search term input](#more-observables)<br>
    [Appendix: the in-memory web api service](#in-mem-web-api)<br>
    
    
    Try the [live example](/resources/live-examples/server-communication/ts/plnkr.html).
  .l-main-section
  