title: How to detect unsubscribe in Observer
body: <p>I wrap a http call to a new Observable, but I cannot detect if the subscription is cancelled:</p>
  
  <pre class="lang-js prettyprint-override"><code>constructor( @Inject(Http) private http: Http) {
  }
  
  
  ...
  
  
  const observable = Observable.create((observer: Observer&lt;any&gt;) =&gt; {
              this.http.post(url, body)
                  .subscribe((p) =&gt; {
                      observer.next(p.json());
                      observer.complete();
                  }, (err) =&gt; {
                      observer.error(err);
                      observer.complete();
                  });
          });
  const subscription = observable.subscribe((r) =&gt; { alert("result : "+r); }, (err) =&gt; { alert("error occured");}
  
  subscription.unsubscribe(); // if user cancels the request
  </code></pre>
  
  <p>How can I detect in <code>Observable.create(...)</code> if the user cancels the subscription?  I would like to cancel the http post request when the outer Observable is cancelled.</p>